@contractkit/plugin-typescript 0.20.0 → 0.22.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.
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80% </span>
26
+ <span class="strong">79.96% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1996/2495</span>
28
+ <span class='fraction'>2027/2535</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75.35% </span>
33
+ <span class="strong">75.1% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1220/1619</span>
35
+ <span class='fraction'>1228/1635</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">83.45% </span>
40
+ <span class="strong">83.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>333/399</span>
42
+ <span class='fraction'>334/400</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.47% </span>
47
+ <span class="strong">82.56% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1746/2117</span>
49
+ <span class='fraction'>1776/2151</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="79.77" class="pic medium">
83
+ <td data-value="79.74" class="pic medium">
84
84
  <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
85
85
  </td>
86
- <td data-value="79.77" class="pct medium">79.77%</td>
87
- <td data-value="2443" class="abs medium">1949/2443</td>
88
- <td data-value="75.03" class="pct medium">75.03%</td>
89
- <td data-value="1586" class="abs medium">1190/1586</td>
90
- <td data-value="83.01" class="pct high">83.01%</td>
91
- <td data-value="371" class="abs high">308/371</td>
92
- <td data-value="82.23" class="pct high">82.23%</td>
93
- <td data-value="2071" class="abs high">1703/2071</td>
86
+ <td data-value="79.74" class="pct medium">79.74%</td>
87
+ <td data-value="2483" class="abs medium">1980/2483</td>
88
+ <td data-value="74.78" class="pct medium">74.78%</td>
89
+ <td data-value="1602" class="abs medium">1198/1602</td>
90
+ <td data-value="83.06" class="pct high">83.06%</td>
91
+ <td data-value="372" class="abs high">309/372</td>
92
+ <td data-value="82.32" class="pct high">82.32%</td>
93
+ <td data-value="2105" class="abs high">1733/2105</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-05-07T11:38:24.644Z
119
+ at 2026-05-08T13:03:00.695Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>
@@ -3598,7 +3598,7 @@ export function pascalToDotCase(name: string): string {
3598
3598
  <div class='footer quiet pad2 space-top1 center small'>
3599
3599
  Code coverage generated by
3600
3600
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3601
- at 2026-05-07T11:38:24.644Z
3601
+ at 2026-05-08T13:03:00.695Z
3602
3602
  </div>
3603
3603
  <script src="../prettify.js"></script>
3604
3604
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.18% </span>
26
+ <span class="strong">78.13% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>362/463</span>
28
+ <span class='fraction'>361/462</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,9 +37,9 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">78.08% </span>
40
+ <span class="strong">77.77% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>57/73</span>
42
+ <span class='fraction'>56/72</span>
43
43
  </div>
44
44
 
45
45
 
@@ -878,7 +878,8 @@
878
878
  <a name='L813'></a><a href='#L813'>813</a>
879
879
  <a name='L814'></a><a href='#L814'>814</a>
880
880
  <a name='L815'></a><a href='#L815'>815</a>
881
- <a name='L816'></a><a href='#L816'>816</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
881
+ <a name='L816'></a><a href='#L816'>816</a>
882
+ <a name='L817'></a><a href='#L817'>817</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
882
883
  <span class="cline-any cline-neutral">&nbsp;</span>
883
884
  <span class="cline-any cline-neutral">&nbsp;</span>
884
885
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1007,6 +1008,7 @@
1007
1008
  <span class="cline-any cline-neutral">&nbsp;</span>
1008
1009
  <span class="cline-any cline-neutral">&nbsp;</span>
1009
1010
  <span class="cline-any cline-neutral">&nbsp;</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
1012
  <span class="cline-any cline-yes">110x</span>
1011
1013
  <span class="cline-any cline-yes">110x</span>
1012
1014
  <span class="cline-any cline-yes">110x</span>
@@ -1820,6 +1822,7 @@ export interface OpCodegenOptions {
1820
1822
  includeInternal?: boolean;
1821
1823
  }
1822
1824
  &nbsp;
1825
+ /** Generate a Koa router module for every operation in `root`, including the imports, type aliases, and handler list. */
1823
1826
  export function generateOp(root: OpRootNode, options: OpCodegenOptions = {}): string {
1824
1827
  // Collect all referenced types across all routes
1825
1828
  const types = collectTypes(root, options.modelsWithInput, options.modelsWithOutput);
@@ -1935,8 +1938,8 @@ function generateHandler(route: OpRouteNode, op: OpOperationNode, root: OpRootNo
1935
1938
  // Middleware list
1936
1939
  const middlewares: string[] = [];
1937
1940
  if (effectiveSecurity !== SECURITY_NONE) {
1938
- const roles = effectiveSecurity &amp;&amp; effectiveSecurity.roles?.length ? `roles: [${effectiveSecurity.roles.map(r =&gt; `'${r}'`).join(', ')}]` : '';
1939
- middlewares.push(`requireSecurity({ ${roles} })`);
1941
+ const args = effectiveSecurity &amp;&amp; effectiveSecurity.requireMfa !== undefined ? `{ requireMfa: ${effectiveSecurity.requireMfa} }` : '';
1942
+ middlewares.push(`requireSecurity(${args})`);
1940
1943
  }
1941
1944
  if (hasBody) {
1942
1945
  const parserTokens = Array.from(new Set(bodies.map(b =&gt; bodyParserToken(b.contentType))));
@@ -2515,7 +2518,7 @@ function deriveTypeImportPath(file: string, template?: string): string {
2515
2518
  <div class='footer quiet pad2 space-top1 center small'>
2516
2519
  Code coverage generated by
2517
2520
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2518
- at 2026-05-07T11:38:24.644Z
2521
+ at 2026-05-08T13:03:00.695Z
2519
2522
  </div>
2520
2523
  <script src="../prettify.js"></script>
2521
2524
  <script>
@@ -982,7 +982,7 @@ function renderOutputField(field: FieldNode, outputCase: 'camel' | 'snake' | 'pa
982
982
  <div class='footer quiet pad2 space-top1 center small'>
983
983
  Code coverage generated by
984
984
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
985
- at 2026-05-07T11:38:24.644Z
985
+ at 2026-05-08T13:03:00.695Z
986
986
  </div>
987
987
  <script src="../prettify.js"></script>
988
988
  <script>