@c15t/backend 0.0.1-rc.24 → 1.0.0

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 (133) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/pkgs/logger/types.d.ts +1 -1
  5. package/dist/pkgs/logger/types.d.ts.map +1 -1
  6. package/package.json +2 -3
  7. package/src/pkgs/logger/types.ts +1 -5
  8. package/.turbo/turbo-fmt.log +0 -7
  9. package/.turbo/turbo-test.log +0 -551
  10. package/coverage/coverage-final.json +0 -83
  11. package/coverage/coverage-summary.json +0 -84
  12. package/coverage/html/backend/index.html +0 -116
  13. package/coverage/html/backend/rslib.config.ts.html +0 -424
  14. package/coverage/html/backend/src/core.ts.html +0 -796
  15. package/coverage/html/backend/src/index.html +0 -131
  16. package/coverage/html/backend/src/init.ts.html +0 -1072
  17. package/coverage/html/backend/src/integrations/cloudflare.ts.html +0 -889
  18. package/coverage/html/backend/src/integrations/index.html +0 -146
  19. package/coverage/html/backend/src/integrations/next.ts.html +0 -691
  20. package/coverage/html/backend/src/integrations/node.ts.html +0 -505
  21. package/coverage/html/backend/src/pkgs/api-router/hooks/index.html +0 -116
  22. package/coverage/html/backend/src/pkgs/api-router/hooks/processor.ts.html +0 -538
  23. package/coverage/html/backend/src/pkgs/api-router/index.html +0 -131
  24. package/coverage/html/backend/src/pkgs/api-router/index.ts.html +0 -529
  25. package/coverage/html/backend/src/pkgs/api-router/telemetry.ts.html +0 -334
  26. package/coverage/html/backend/src/pkgs/api-router/utils/cors.ts.html +0 -304
  27. package/coverage/html/backend/src/pkgs/api-router/utils/define-route.ts.html +0 -1315
  28. package/coverage/html/backend/src/pkgs/api-router/utils/index.html +0 -146
  29. package/coverage/html/backend/src/pkgs/api-router/utils/ip.ts.html +0 -361
  30. package/coverage/html/backend/src/pkgs/data-model/fields/field-factory.ts.html +0 -709
  31. package/coverage/html/backend/src/pkgs/data-model/fields/id-generator.ts.html +0 -256
  32. package/coverage/html/backend/src/pkgs/data-model/fields/index.html +0 -161
  33. package/coverage/html/backend/src/pkgs/data-model/fields/superjson-utils.ts.html +0 -136
  34. package/coverage/html/backend/src/pkgs/data-model/fields/zod-fields.ts.html +0 -496
  35. package/coverage/html/backend/src/pkgs/data-model/hooks/create-hooks.ts.html +0 -349
  36. package/coverage/html/backend/src/pkgs/data-model/hooks/index.html +0 -176
  37. package/coverage/html/backend/src/pkgs/data-model/hooks/update-hooks.ts.html +0 -358
  38. package/coverage/html/backend/src/pkgs/data-model/hooks/update-many-hooks.ts.html +0 -613
  39. package/coverage/html/backend/src/pkgs/data-model/hooks/utils.ts.html +0 -538
  40. package/coverage/html/backend/src/pkgs/data-model/hooks/with-hooks-factory.ts.html +0 -289
  41. package/coverage/html/backend/src/pkgs/db-adapters/adapter-factory.ts.html +0 -277
  42. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts.html +0 -2212
  43. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/index.html +0 -116
  44. package/coverage/html/backend/src/pkgs/db-adapters/adapters/index.html +0 -116
  45. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts.html +0 -676
  46. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/index.html +0 -131
  47. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts.html +0 -3637
  48. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/index.html +0 -116
  49. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts.html +0 -1417
  50. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/index.html +0 -116
  51. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts.html +0 -2074
  52. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/index.html +0 -116
  53. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts.html +0 -1837
  54. package/coverage/html/backend/src/pkgs/db-adapters/adapters/test.ts.html +0 -316
  55. package/coverage/html/backend/src/pkgs/db-adapters/index.html +0 -131
  56. package/coverage/html/backend/src/pkgs/db-adapters/utils.ts.html +0 -238
  57. package/coverage/html/backend/src/pkgs/logger/console-formatter.ts.html +0 -310
  58. package/coverage/html/backend/src/pkgs/logger/index.html +0 -176
  59. package/coverage/html/backend/src/pkgs/logger/log-levels.ts.html +0 -223
  60. package/coverage/html/backend/src/pkgs/logger/logger-factory.ts.html +0 -448
  61. package/coverage/html/backend/src/pkgs/logger/result-logging.ts.html +0 -487
  62. package/coverage/html/backend/src/pkgs/logger/telemetry.ts.html +0 -373
  63. package/coverage/html/backend/src/pkgs/migrations/get-migration.ts.html +0 -343
  64. package/coverage/html/backend/src/pkgs/migrations/get-schema/get-schema.ts.html +0 -217
  65. package/coverage/html/backend/src/pkgs/migrations/get-schema/index.html +0 -146
  66. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-fields.ts.html +0 -280
  67. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-tables.ts.html +0 -289
  68. package/coverage/html/backend/src/pkgs/migrations/index.html +0 -176
  69. package/coverage/html/backend/src/pkgs/migrations/migration-builders.ts.html +0 -595
  70. package/coverage/html/backend/src/pkgs/migrations/migration-execution.ts.html +0 -301
  71. package/coverage/html/backend/src/pkgs/migrations/schema-comparison.ts.html +0 -691
  72. package/coverage/html/backend/src/pkgs/migrations/type-mapping.ts.html +0 -817
  73. package/coverage/html/backend/src/pkgs/results/core/error-class.ts.html +0 -1012
  74. package/coverage/html/backend/src/pkgs/results/core/error-codes.ts.html +0 -703
  75. package/coverage/html/backend/src/pkgs/results/core/index.html +0 -146
  76. package/coverage/html/backend/src/pkgs/results/core/tracing.ts.html +0 -280
  77. package/coverage/html/backend/src/pkgs/results/create-telemetry-options.ts.html +0 -271
  78. package/coverage/html/backend/src/pkgs/results/h3-integration.ts.html +0 -511
  79. package/coverage/html/backend/src/pkgs/results/index.html +0 -131
  80. package/coverage/html/backend/src/pkgs/results/pipeline/index.html +0 -131
  81. package/coverage/html/backend/src/pkgs/results/pipeline/retrieval-pipeline.ts.html +0 -649
  82. package/coverage/html/backend/src/pkgs/results/pipeline/validation-pipeline.ts.html +0 -577
  83. package/coverage/html/backend/src/pkgs/results/results/index.html +0 -131
  84. package/coverage/html/backend/src/pkgs/results/results/recovery-utils.ts.html +0 -628
  85. package/coverage/html/backend/src/pkgs/results/results/result-helpers.ts.html +0 -1234
  86. package/coverage/html/backend/src/pkgs/utils/env.ts.html +0 -337
  87. package/coverage/html/backend/src/pkgs/utils/index.html +0 -131
  88. package/coverage/html/backend/src/pkgs/utils/url.ts.html +0 -400
  89. package/coverage/html/backend/src/routes/index.html +0 -176
  90. package/coverage/html/backend/src/routes/index.ts.html +0 -121
  91. package/coverage/html/backend/src/routes/set-consent.ts.html +0 -832
  92. package/coverage/html/backend/src/routes/show-consent-banner.ts.html +0 -478
  93. package/coverage/html/backend/src/routes/status.ts.html +0 -268
  94. package/coverage/html/backend/src/routes/verify-consent.ts.html +0 -703
  95. package/coverage/html/backend/src/schema/audit-log/index.html +0 -146
  96. package/coverage/html/backend/src/schema/audit-log/registry.ts.html +0 -436
  97. package/coverage/html/backend/src/schema/audit-log/schema.ts.html +0 -223
  98. package/coverage/html/backend/src/schema/audit-log/table.ts.html +0 -640
  99. package/coverage/html/backend/src/schema/consent/index.html +0 -146
  100. package/coverage/html/backend/src/schema/consent/registry.ts.html +0 -616
  101. package/coverage/html/backend/src/schema/consent/schema.ts.html +0 -238
  102. package/coverage/html/backend/src/schema/consent/table.ts.html +0 -748
  103. package/coverage/html/backend/src/schema/consent-policy/index.html +0 -146
  104. package/coverage/html/backend/src/schema/consent-policy/registry.ts.html +0 -1063
  105. package/coverage/html/backend/src/schema/consent-policy/schema.ts.html +0 -265
  106. package/coverage/html/backend/src/schema/consent-policy/table.ts.html +0 -535
  107. package/coverage/html/backend/src/schema/consent-purpose/index.html +0 -146
  108. package/coverage/html/backend/src/schema/consent-purpose/registry.ts.html +0 -589
  109. package/coverage/html/backend/src/schema/consent-purpose/schema.ts.html +0 -259
  110. package/coverage/html/backend/src/schema/consent-purpose/table.ts.html +0 -547
  111. package/coverage/html/backend/src/schema/consent-record/index.html +0 -131
  112. package/coverage/html/backend/src/schema/consent-record/schema.ts.html +0 -211
  113. package/coverage/html/backend/src/schema/consent-record/table.ts.html +0 -457
  114. package/coverage/html/backend/src/schema/create-registry.ts.html +0 -148
  115. package/coverage/html/backend/src/schema/definition.ts.html +0 -685
  116. package/coverage/html/backend/src/schema/domain/index.html +0 -146
  117. package/coverage/html/backend/src/schema/domain/registry.ts.html +0 -973
  118. package/coverage/html/backend/src/schema/domain/schema.ts.html +0 -214
  119. package/coverage/html/backend/src/schema/domain/table.ts.html +0 -496
  120. package/coverage/html/backend/src/schema/index.html +0 -146
  121. package/coverage/html/backend/src/schema/schemas.ts.html +0 -166
  122. package/coverage/html/backend/src/schema/subject/index.html +0 -146
  123. package/coverage/html/backend/src/schema/subject/registry.ts.html +0 -973
  124. package/coverage/html/backend/src/schema/subject/schema.ts.html +0 -208
  125. package/coverage/html/backend/src/schema/subject/table.ts.html +0 -499
  126. package/coverage/html/base.css +0 -224
  127. package/coverage/html/block-navigation.js +0 -87
  128. package/coverage/html/favicon.png +0 -0
  129. package/coverage/html/index.html +0 -581
  130. package/coverage/html/prettify.css +0 -1
  131. package/coverage/html/prettify.js +0 -2
  132. package/coverage/html/sort-arrow-sprite.png +0 -0
  133. package/coverage/html/sorter.js +0 -196
@@ -1,889 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for backend/src/integrations/cloudflare.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">backend/src/integrations</a> cloudflare.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/70</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/58</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/8</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/70</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 low'></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>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</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>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
368
- <span class="cline-any cline-no">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-no">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-no">&nbsp;</span>
379
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
383
- <span class="cline-any cline-no">&nbsp;</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-no">&nbsp;</span>
386
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
392
- <span class="cline-any cline-no">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-no">&nbsp;</span>
395
- <span class="cline-any cline-no">&nbsp;</span>
396
- <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-no">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-no">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-no">&nbsp;</span>
421
- <span class="cline-any cline-no">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-no">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-no">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-no">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-no">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-no">&nbsp;</span>
471
- <span class="cline-any cline-no">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-no">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-no">&nbsp;</span>
483
- <span class="cline-any cline-no">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-no">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-no">&nbsp;</span>
501
- <span class="cline-any cline-no">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-no">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-no">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-no">&nbsp;</span>
517
- <span class="cline-any cline-no">&nbsp;</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-no">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-no">&nbsp;</span>
531
- <span class="cline-any cline-no">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-no">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-no">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
550
- <span class="cline-any cline-no">&nbsp;</span>
551
- <span class="cline-any cline-no">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-no">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-no">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-no">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-no">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-no">&nbsp;</span>
565
- <span class="cline-any cline-no">&nbsp;</span>
566
- <span class="cline-any cline-no">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-no">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-no">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-no">&nbsp;</span>
577
- <span class="cline-any cline-no">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-no">&nbsp;</span>
582
- <span class="cline-any cline-no">&nbsp;</span>
583
- <span class="cline-any cline-no">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-no">&nbsp;</span>
588
- <span class="cline-any cline-no">&nbsp;</span>
589
- <span class="cline-any cline-no">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-no">&nbsp;</span>
593
- <span class="cline-any cline-no">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-no">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-no">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { C15TInstance } from '~/core';
603
- import { ERROR_CODES } from '~/pkgs/results';
604
- &nbsp;
605
- /**
606
- * Convert a c15t handler to a Cloudflare Worker handler.
607
- *
608
- * This adapter is specifically designed for Cloudflare Workers environments,
609
- * avoiding Node.js-specific dependencies and APIs.
610
- *
611
- * @example
612
- * ```typescript
613
- * import { toCloudflareHandler } from '@c15t/backend/integrations';
614
- * import { c15tInstance } from '@c15t/backend';
615
- *
616
- * // Create c15t instance
617
- * const c15t = c15tInstance({
618
- * basePath: '/',
619
- * cors: true,
620
- * // other options...
621
- * });
622
- *
623
- * // Export the worker handler
624
- * export default {
625
- * async fetch(request, env, ctx) {
626
- * return await toCloudflareHandler(c15t)(request);
627
- * }
628
- * };
629
- * ```
630
- *
631
- * @param instance - The c15t instance to adapt
632
- * @returns A handler function suitable for Cloudflare Workers
633
- */
634
- export function <span class="fstat-no" title="function not covered" >toCloudflareHandler(i</span>nstance: C15TInstance) {
635
- <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >async (r</span>equest: Request): Promise&lt;Response&gt; =&gt; {</span>
636
- <span class="cstat-no" title="statement not covered" > try {</span>
637
- const basePath: string =
638
- (<span class="cstat-no" title="statement not covered" >instance.options?.basePath as string) || '/api/c15t';</span>
639
- &nbsp;
640
- // Extract the path and rewrite for c15t routing
641
- const originalUrl = <span class="cstat-no" title="statement not covered" >new URL(request.url);</span>
642
- &nbsp;
643
- let pathWithoutBase = <span class="cstat-no" title="statement not covered" >originalUrl.pathname;</span>
644
- &nbsp;
645
- // Handle CORS preflight requests directly
646
- <span class="cstat-no" title="statement not covered" > if (request.method === 'OPTIONS') {</span>
647
- <span class="cstat-no" title="statement not covered" > return handleCorsPreflightRequest(request, instance);</span>
648
- }
649
- &nbsp;
650
- <span class="cstat-no" title="statement not covered" > if (pathWithoutBase.startsWith(basePath)) {</span>
651
- <span class="cstat-no" title="statement not covered" > pathWithoutBase = pathWithoutBase.substring(basePath.length);</span>
652
- // Ensure leading slash
653
- <span class="cstat-no" title="statement not covered" > if (!pathWithoutBase.startsWith('/')) {</span>
654
- <span class="cstat-no" title="statement not covered" > pathWithoutBase = `/${pathWithoutBase}`;</span>
655
- }
656
- }
657
- &nbsp;
658
- // Create rewritten request with careful cloning to avoid stream issues
659
- const rewrittenUrl = <span class="cstat-no" title="statement not covered" >new URL(originalUrl.toString());</span>
660
- <span class="cstat-no" title="statement not covered" > rewrittenUrl.pathname = pathWithoutBase;</span>
661
- &nbsp;
662
- const headers = <span class="cstat-no" title="statement not covered" >new Headers();</span>
663
- <span class="cstat-no" title="statement not covered" > for (const [key, value] of request.headers.entries()) {</span>
664
- <span class="cstat-no" title="statement not covered" > headers.set(key, value);</span>
665
- }
666
- &nbsp;
667
- // Create a new request without the credentials field which is not supported in Cloudflare Workers
668
- const rewrittenRequest = <span class="cstat-no" title="statement not covered" >new Request(rewrittenUrl.toString(), {</span>
669
- method: request.method,
670
- headers,
671
- body: ['GET', 'HEAD'].includes(request.method)
672
- ? undefined
673
- : request.body,
674
- });
675
- &nbsp;
676
- // Let c15t handle the request
677
- &nbsp;
678
- const result = <span class="cstat-no" title="statement not covered" >await instance.handler(rewrittenRequest);</span>
679
- &nbsp;
680
- // Convert c15t response to standard Response with CORS headers
681
- <span class="cstat-no" title="statement not covered" > return await result.match(</span>
682
- // Success case - add CORS headers and return
683
- <span class="fstat-no" title="function not covered" > (r</span>esponse) =&gt; {
684
- <span class="cstat-no" title="statement not covered" > return addCorsHeaders(response, request, instance);</span>
685
- },
686
- // Error case - create an error response with CORS headers
687
- <span class="fstat-no" title="function not covered" > (e</span>rror) =&gt; {
688
- const status = <span class="cstat-no" title="statement not covered" >error.statusCode || 500;</span>
689
- const message = <span class="cstat-no" title="statement not covered" >error.message || ERROR_CODES.INTERNAL_SERVER_ERROR;</span>
690
- &nbsp;
691
- const errorResponse = <span class="cstat-no" title="statement not covered" >new Response(</span>
692
- JSON.stringify({
693
- error: true,
694
- code: error.code || ERROR_CODES.INTERNAL_SERVER_ERROR,
695
- message,
696
- meta: error.meta,
697
- }),
698
- {
699
- status,
700
- headers: {
701
- 'Content-Type': 'application/json',
702
- },
703
- }
704
- );
705
- &nbsp;
706
- <span class="cstat-no" title="statement not covered" > return addCorsHeaders(errorResponse, request, instance);</span>
707
- }
708
- );
709
- } catch (error) {
710
- // Basic error handling
711
- &nbsp;
712
- const errorResponse = <span class="cstat-no" title="statement not covered" >new Response(</span>
713
- JSON.stringify({
714
- error: true,
715
- code: ERROR_CODES.INTERNAL_SERVER_ERROR,
716
- message: 'An unexpected error occurred',
717
- meta: { error: String(error) },
718
- }),
719
- {
720
- status: 500,
721
- headers: {
722
- 'Content-Type': 'application/json',
723
- },
724
- }
725
- );
726
- &nbsp;
727
- <span class="cstat-no" title="statement not covered" > return addCorsHeaders(errorResponse, request, instance);</span>
728
- }
729
- };
730
- &nbsp;
731
- /**
732
- * Handle CORS preflight requests directly
733
- */
734
- function <span class="fstat-no" title="function not covered" >handleCorsPreflightRequest(</span>
735
- request: Request,
736
- instance: C15TInstance
737
- ): Response {
738
- const origin = <span class="cstat-no" title="statement not covered" >request.headers.get('Origin');</span>
739
- const isTrusted = <span class="cstat-no" title="statement not covered" >isTrustedOrigin(origin, instance);</span>
740
- &nbsp;
741
- const headers = <span class="cstat-no" title="statement not covered" >new Headers({</span>
742
- 'Access-Control-Allow-Origin': isTrusted &amp;&amp; origin ? origin : '*',
743
- 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
744
- 'Access-Control-Allow-Headers':
745
- 'Content-Type, Authorization, x-request-id',
746
- 'Access-Control-Max-Age': '86400',
747
- });
748
- &nbsp;
749
- // Add credentials header if trusted origin
750
- <span class="cstat-no" title="statement not covered" > if (isTrusted) {</span>
751
- <span class="cstat-no" title="statement not covered" > headers.set('Access-Control-Allow-Credentials', 'true');</span>
752
- }
753
- &nbsp;
754
- <span class="cstat-no" title="statement not covered" > return new Response(null, {</span>
755
- status: 204,
756
- headers,
757
- });
758
- }
759
- &nbsp;
760
- /**
761
- * Add CORS headers to a response
762
- */
763
- function <span class="fstat-no" title="function not covered" >addCorsHeaders(</span>
764
- response: Response,
765
- request: Request,
766
- instance: C15TInstance
767
- ): Response {
768
- const origin = <span class="cstat-no" title="statement not covered" >request.headers.get('Origin');</span>
769
- const isTrusted = <span class="cstat-no" title="statement not covered" >isTrustedOrigin(origin, instance);</span>
770
- &nbsp;
771
- const newResponse = <span class="cstat-no" title="statement not covered" >new Response(response.body, {</span>
772
- status: response.status,
773
- statusText: response.statusText,
774
- headers: response.headers,
775
- });
776
- &nbsp;
777
- // Set CORS headers
778
- <span class="cstat-no" title="statement not covered" > newResponse.headers.set(</span>
779
- 'Access-Control-Allow-Origin',
780
- isTrusted &amp;&amp; origin ? origin : '*'
781
- );
782
- &nbsp;
783
- // Add credentials header if trusted origin
784
- <span class="cstat-no" title="statement not covered" > if (isTrusted) {</span>
785
- <span class="cstat-no" title="statement not covered" > newResponse.headers.set('Access-Control-Allow-Credentials', 'true');</span>
786
- }
787
- &nbsp;
788
- <span class="cstat-no" title="statement not covered" > return newResponse;</span>
789
- }
790
- &nbsp;
791
- /**
792
- * Check if origin is trusted
793
- */
794
- function <span class="fstat-no" title="function not covered" >isTrustedOrigin(</span>
795
- origin: string | null,
796
- instance: C15TInstance
797
- ): boolean {
798
- <span class="cstat-no" title="statement not covered" > if (!origin) {</span>
799
- <span class="cstat-no" title="statement not covered" > return false;</span>
800
- }
801
- &nbsp;
802
- // Get trusted origins from options
803
- const { trustedOrigins = <span class="branch-0 cbranch-no" title="branch not covered" >[] }</span> = <span class="cstat-no" title="statement not covered" >instance.options || {};</span>
804
- &nbsp;
805
- // Normalize trustedOrigins to array of strings
806
- let originsArray: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
807
- &nbsp;
808
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(trustedOrigins)) {</span>
809
- // Handle potential nested array from env vars: ["localhost"] becomes ["localhost"]
810
- <span class="cstat-no" title="statement not covered" > originsArray = trustedOrigins.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
811
- // If item is a string that looks like an array element (has quotes and brackets)
812
- <span class="cstat-no" title="statement not covered" > if (</span>
813
- typeof item === 'string' &amp;&amp;
814
- ((item.startsWith('"') &amp;&amp; item.endsWith('"')) ||
815
- (item.startsWith('[') &amp;&amp; item.endsWith(']')))
816
- ) {
817
- <span class="cstat-no" title="statement not covered" > try {</span>
818
- const parsed = <span class="cstat-no" title="statement not covered" >JSON.parse(item);</span>
819
- <span class="cstat-no" title="statement not covered" > return typeof parsed === 'string' ? parsed : item;</span>
820
- } catch {
821
- <span class="cstat-no" title="statement not covered" > return item;</span>
822
- }
823
- }
824
- <span class="cstat-no" title="statement not covered" > return item;</span>
825
- });
826
- <span class="cstat-no" title="statement not covered" > } else if (typeof trustedOrigins === 'string') {</span>
827
- // Try to parse as JSON if it looks like an array
828
- <span class="cstat-no" title="statement not covered" > if (</span>
829
- (trustedOrigins as string).startsWith('[') &amp;&amp;
830
- (trustedOrigins as string).endsWith(']')
831
- ) {
832
- <span class="cstat-no" title="statement not covered" > try {</span>
833
- const parsed = <span class="cstat-no" title="statement not covered" >JSON.parse(trustedOrigins as string);</span>
834
- <span class="cstat-no" title="statement not covered" > originsArray = Array.isArray(parsed) ? parsed : [trustedOrigins];</span>
835
- } catch {
836
- <span class="cstat-no" title="statement not covered" > originsArray = [trustedOrigins];</span>
837
- }
838
- } else {
839
- <span class="cstat-no" title="statement not covered" > originsArray = [trustedOrigins];</span>
840
- }
841
- }
842
- &nbsp;
843
- // If wildcard is included, all origins are trusted
844
- <span class="cstat-no" title="statement not covered" > if (originsArray.includes('*')) {</span>
845
- <span class="cstat-no" title="statement not covered" > return true;</span>
846
- }
847
- &nbsp;
848
- // 1. Check exact match
849
- const isExactMatch = <span class="cstat-no" title="statement not covered" >originsArray.includes(origin);</span>
850
- <span class="cstat-no" title="statement not covered" > if (isExactMatch) {</span>
851
- <span class="cstat-no" title="statement not covered" > return true;</span>
852
- }
853
- &nbsp;
854
- // 2. Check domain-based matching
855
- <span class="cstat-no" title="statement not covered" > try {</span>
856
- const originUrl = <span class="cstat-no" title="statement not covered" >new URL(origin);</span>
857
- const originHostname = <span class="cstat-no" title="statement not covered" >originUrl.hostname;</span>
858
- &nbsp;
859
- // Check if any trusted origin is just the hostname (without protocol)
860
- <span class="cstat-no" title="statement not covered" > if (originsArray.includes(originHostname)) {</span>
861
- <span class="cstat-no" title="statement not covered" > return true;</span>
862
- }
863
- &nbsp;
864
- <span class="cstat-no" title="statement not covered" > return false;</span>
865
- } catch {
866
- <span class="cstat-no" title="statement not covered" > return false;</span>
867
- }
868
- }
869
- }
870
- &nbsp;</pre></td></tr></table></pre>
871
-
872
- <div class='push'></div><!-- for sticky footer -->
873
- </div><!-- /wrapper -->
874
- <div class='footer quiet pad2 space-top1 center small'>
875
- Code coverage generated by
876
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
877
- at 2025-04-14T10:55:46.797Z
878
- </div>
879
- <script src="../../../prettify.js"></script>
880
- <script>
881
- window.onload = function () {
882
- prettyPrint();
883
- };
884
- </script>
885
- <script src="../../../sorter.js"></script>
886
- <script src="../../../block-navigation.js"></script>
887
- </body>
888
- </html>
889
-