@contractkit/openapi-to-ck 0.7.7 → 0.8.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,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.49% </span>
26
+ <span class="strong">80.95% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>747/928</span>
28
+ <span class='fraction'>748/924</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.11% </span>
33
+ <span class="strong">70.17% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>528/753</span>
35
+ <span class='fraction'>527/751</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.95% </span>
47
+ <span class="strong">83.47% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>696/839</span>
49
+ <span class='fraction'>697/835</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="80.24" class="pic high">
83
+ <td data-value="80.72" class="pic high">
84
84
  <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
85
85
  </td>
86
- <td data-value="80.24" class="pct high">80.24%</td>
87
- <td data-value="891" class="abs high">715/891</td>
88
- <td data-value="70.39" class="pct medium">70.39%</td>
89
- <td data-value="733" class="abs medium">516/733</td>
86
+ <td data-value="80.72" class="pct high">80.72%</td>
87
+ <td data-value="887" class="abs high">716/887</td>
88
+ <td data-value="70.45" class="pct medium">70.45%</td>
89
+ <td data-value="731" class="abs medium">515/731</td>
90
90
  <td data-value="93.47" class="pct high">93.47%</td>
91
91
  <td data-value="92" class="abs high">86/92</td>
92
- <td data-value="82.57" class="pct high">82.57%</td>
93
- <td data-value="809" class="abs high">668/809</td>
92
+ <td data-value="83.1" class="pct high">83.1%</td>
93
+ <td data-value="805" class="abs high">669/805</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:22.647Z
119
+ at 2026-05-13T17:08:50.965Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.65% </span>
26
+ <span class="strong">90.27% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>194/214</span>
28
+ <span class='fraction'>195/216</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">82.01% </span>
33
+ <span class="strong">81.48% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>155/189</span>
35
+ <span class='fraction'>154/189</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.91% </span>
47
+ <span class="strong">91.5% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>182/198</span>
49
+ <span class='fraction'>183/200</span>
50
50
  </div>
51
51
 
52
52
 
@@ -480,7 +480,9 @@
480
480
  <a name='L415'></a><a href='#L415'>415</a>
481
481
  <a name='L416'></a><a href='#L416'>416</a>
482
482
  <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
484
486
  <span class="cline-any cline-neutral">&nbsp;</span>
485
487
  <span class="cline-any cline-neutral">&nbsp;</span>
486
488
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -568,6 +570,7 @@
568
570
  <span class="cline-any cline-no">&nbsp;</span>
569
571
  <span class="cline-any cline-no">&nbsp;</span>
570
572
  <span class="cline-any cline-no">&nbsp;</span>
573
+ <span class="cline-any cline-no">&nbsp;</span>
571
574
  <span class="cline-any cline-neutral">&nbsp;</span>
572
575
  <span class="cline-any cline-neutral">&nbsp;</span>
573
576
  <span class="cline-any cline-no">&nbsp;</span>
@@ -893,6 +896,7 @@
893
896
  <span class="cline-any cline-yes">1x</span>
894
897
  <span class="cline-any cline-yes">1x</span>
895
898
  <span class="cline-any cline-yes">1x</span>
899
+ <span class="cline-any cline-yes">1x</span>
896
900
  <span class="cline-any cline-neutral">&nbsp;</span>
897
901
  <span class="cline-any cline-no">&nbsp;</span>
898
902
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -983,8 +987,9 @@ function serializeOptions(root: CkRootNode): string | null {
983
987
  <span class="cstat-no" title="statement not covered" > lines.push(`${INDENT}${INDENT}none`);</span>
984
988
  } else {
985
989
  const sec = <span class="cstat-no" title="statement not covered" >root.security as SecurityFields;</span>
986
- <span class="cstat-no" title="statement not covered" > if (sec.roles &amp;&amp; sec.roles.length &gt; 0) {</span>
987
- <span class="cstat-no" title="statement not covered" > lines.push(`${INDENT}${INDENT}roles: [${sec.roles.join(', ')}]`);</span>
990
+ <span class="cstat-no" title="statement not covered" > if (sec.policy !== undefined) {</span>
991
+ const value = <span class="cstat-no" title="statement not covered" >sec.policy === false ? 'none' : sec.policy;</span>
992
+ <span class="cstat-no" title="statement not covered" > lines.push(`${INDENT}${INDENT}policy: ${value}`);</span>
988
993
  }
989
994
  }
990
995
  <span class="cstat-no" title="statement not covered" > lines.push(`${INDENT}}`);</span>
@@ -1305,10 +1310,11 @@ function serializeSecurityBlock(lines: string[], security: SecurityNode, depth:
1305
1310
  }
1306
1311
  &nbsp;
1307
1312
  const sec = security as SecurityFields;
1308
- if (sec.roles &amp;&amp; sec.roles.length &gt; 0) {
1309
- const rolesComment = ctx.includeComments &amp;&amp; sec.rolesDescription ? <span class="branch-0 cbranch-no" title="branch not covered" >` # ${sec.rolesDescription}` : '</span>';
1313
+ if (sec.policy !== undefined) {
1314
+ const comment = ctx.includeComments &amp;&amp; sec.policyDescription ? <span class="branch-0 cbranch-no" title="branch not covered" >` # ${sec.policyDescription}` : '</span>';
1315
+ const value = sec.policy === false ? <span class="branch-0 cbranch-no" title="branch not covered" >'none' : s</span>ec.policy;
1310
1316
  lines.push(`${indent}security: {`);
1311
- lines.push(`${INDENT.repeat(depth + 1)}roles: [${sec.roles.join(', ')}]${rolesComment}`);
1317
+ lines.push(`${INDENT.repeat(depth + 1)}policy: ${value}${comment}`);
1312
1318
  lines.push(`${indent}}`);
1313
1319
  } else <span class="missing-if-branch" title="else path not taken" >E</span>{
1314
1320
  <span class="cstat-no" title="statement not covered" > lines.push(`${indent}security: {}`);</span>
@@ -1321,7 +1327,7 @@ function serializeSecurityBlock(lines: string[], security: SecurityNode, depth:
1321
1327
  <div class='footer quiet pad2 space-top1 center small'>
1322
1328
  Code coverage generated by
1323
1329
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1324
- at 2026-05-07T11:38:22.647Z
1330
+ at 2026-05-13T17:08:50.965Z
1325
1331
  </div>
1326
1332
  <script src="../prettify.js"></script>
1327
1333
  <script>
@@ -283,7 +283,7 @@ export function extractRefName(ref: string): string | undefined {
283
283
  <div class='footer quiet pad2 space-top1 center small'>
284
284
  Code coverage generated by
285
285
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at 2026-05-07T11:38:22.647Z
286
+ at 2026-05-13T17:08:50.965Z
287
287
  </div>
288
288
  <script src="../prettify.js"></script>
289
289
  <script>
@@ -520,7 +520,7 @@ function updateRefs(obj: unknown, nameMap: Map&lt;string, string&gt;): void {
520
520
  <div class='footer quiet pad2 space-top1 center small'>
521
521
  Code coverage generated by
522
522
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
523
- at 2026-05-07T11:38:22.647Z
523
+ at 2026-05-13T17:08:50.965Z
524
524
  </div>
525
525
  <script src="../prettify.js"></script>
526
526
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.24% </span>
26
+ <span class="strong">80.72% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>715/891</span>
28
+ <span class='fraction'>716/887</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.39% </span>
33
+ <span class="strong">70.45% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>516/733</span>
35
+ <span class='fraction'>515/731</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.57% </span>
47
+ <span class="strong">83.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>668/809</span>
49
+ <span class='fraction'>669/805</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="ast-to-ck.ts"><a href="ast-to-ck.ts.html">ast-to-ck.ts</a></td>
83
- <td data-value="90.65" class="pic high">
83
+ <td data-value="90.27" class="pic high">
84
84
  <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
85
85
  </td>
86
- <td data-value="90.65" class="pct high">90.65%</td>
87
- <td data-value="214" class="abs high">194/214</td>
88
- <td data-value="82.01" class="pct high">82.01%</td>
89
- <td data-value="189" class="abs high">155/189</td>
86
+ <td data-value="90.27" class="pct high">90.27%</td>
87
+ <td data-value="216" class="abs high">195/216</td>
88
+ <td data-value="81.48" class="pct high">81.48%</td>
89
+ <td data-value="189" class="abs high">154/189</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="18" class="abs high">18/18</td>
92
- <td data-value="91.91" class="pct high">91.91%</td>
93
- <td data-value="198" class="abs high">182/198</td>
92
+ <td data-value="91.5" class="pct high">91.5%</td>
93
+ <td data-value="200" class="abs high">183/200</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file high" data-value="paths-to-ast.ts"><a href="paths-to-ast.ts.html">paths-to-ast.ts</a></td>
143
- <td data-value="81.2" class="pic high">
144
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
143
+ <td data-value="85.03" class="pic high">
144
+ <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
145
145
  </td>
146
- <td data-value="81.2" class="pct high">81.2%</td>
147
- <td data-value="133" class="abs high">108/133</td>
148
- <td data-value="64.48" class="pct medium">64.48%</td>
149
- <td data-value="107" class="abs medium">69/107</td>
146
+ <td data-value="85.03" class="pct high">85.03%</td>
147
+ <td data-value="127" class="abs high">108/127</td>
148
+ <td data-value="65.71" class="pct medium">65.71%</td>
149
+ <td data-value="105" class="abs medium">69/105</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
151
  <td data-value="16" class="abs high">16/16</td>
152
- <td data-value="85.12" class="pct high">85.12%</td>
153
- <td data-value="121" class="abs high">103/121</td>
152
+ <td data-value="89.56" class="pct high">89.56%</td>
153
+ <td data-value="115" class="abs high">103/115</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2026-05-07T11:38:22.647Z
209
+ at 2026-05-13T17:08:50.965Z
210
210
  </div>
211
211
  <script src="../prettify.js"></script>
212
212
  <script>
@@ -1147,7 +1147,7 @@ function <span class="fstat-no" title="function not covered" >encodePathSegment(
1147
1147
  <div class='footer quiet pad2 space-top1 center small'>
1148
1148
  Code coverage generated by
1149
1149
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1150
- at 2026-05-07T11:38:22.647Z
1150
+ at 2026-05-13T17:08:50.965Z
1151
1151
  </div>
1152
1152
  <script src="../prettify.js"></script>
1153
1153
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.2% </span>
26
+ <span class="strong">85.03% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>108/133</span>
28
+ <span class='fraction'>108/127</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">64.48% </span>
33
+ <span class="strong">65.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>69/107</span>
35
+ <span class='fraction'>69/105</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.12% </span>
47
+ <span class="strong">89.56% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>103/121</span>
49
+ <span class='fraction'>103/115</span>
50
50
  </div>
51
51
 
52
52
 
@@ -411,19 +411,7 @@
411
411
  <a name='L346'></a><a href='#L346'>346</a>
412
412
  <a name='L347'></a><a href='#L347'>347</a>
413
413
  <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
414
+ <a name='L349'></a><a href='#L349'>349</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
427
415
  <span class="cline-any cline-neutral">&nbsp;</span>
428
416
  <span class="cline-any cline-neutral">&nbsp;</span>
429
417
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -743,18 +731,6 @@
743
731
  <span class="cline-any cline-neutral">&nbsp;</span>
744
732
  <span class="cline-any cline-neutral">&nbsp;</span>
745
733
  <span class="cline-any cline-no">&nbsp;</span>
746
- <span class="cline-any cline-no">&nbsp;</span>
747
- <span class="cline-any cline-no">&nbsp;</span>
748
- <span class="cline-any cline-no">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-no">&nbsp;</span>
753
- <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-no">&nbsp;</span>
758
734
  <span class="cline-any cline-neutral">&nbsp;</span>
759
735
  <span class="cline-any cline-neutral">&nbsp;</span>
760
736
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1100,21 +1076,9 @@ function convertSecurity(security: Record&lt;string, string[]&gt;[]): SecurityNo
1100
1076
  return 'none';
1101
1077
  }
1102
1078
  &nbsp;
1103
- // The DSL's security model is simpler — extract roles if present
1104
- // For most security schemes, just note that security is required
1105
- const allScopes: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
1106
- <span class="cstat-no" title="statement not covered" > for (const requirement of security) {</span>
1107
- <span class="cstat-no" title="statement not covered" > for (const scopes of Object.values(requirement)) {</span>
1108
- <span class="cstat-no" title="statement not covered" > allScopes.push(...scopes);</span>
1109
- }
1110
- }
1111
- &nbsp;
1112
- <span class="cstat-no" title="statement not covered" > if (allScopes.length &gt; 0) {</span>
1113
- <span class="cstat-no" title="statement not covered" > return { roles: allScopes, loc: LOC };</span>
1114
- }
1115
- &nbsp;
1116
- // Security required but no specific scopes/roles
1117
- <span class="cstat-no" title="statement not covered" > return { roles: [], loc: LOC };</span>
1079
+ // The DSL's security model is simpler — OpenAPI scopes/roles don't map onto named policies,
1080
+ // so any non-empty security requirement is collapsed to "authenticated, default policy".
1081
+ <span class="cstat-no" title="statement not covered" > return { loc: LOC };</span>
1118
1082
  }
1119
1083
  &nbsp;
1120
1084
  // ─── Helpers ──────────────────────────────────────────────────────────────
@@ -1150,7 +1114,7 @@ function encodePathSegment(s: string): string {
1150
1114
  <div class='footer quiet pad2 space-top1 center small'>
1151
1115
  Code coverage generated by
1152
1116
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1153
- at 2026-05-07T11:38:22.647Z
1117
+ at 2026-05-13T17:08:50.965Z
1154
1118
  </div>
1155
1119
  <script src="../prettify.js"></script>
1156
1120
  <script>
@@ -1363,7 +1363,7 @@ export function sanitizeName(name: string, warnings: WarningCollector): string {
1363
1363
  <div class='footer quiet pad2 space-top1 center small'>
1364
1364
  Code coverage generated by
1365
1365
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1366
- at 2026-05-07T11:38:22.647Z
1366
+ at 2026-05-13T17:08:50.965Z
1367
1367
  </div>
1368
1368
  <script src="../prettify.js"></script>
1369
1369
  <script>
@@ -670,7 +670,7 @@ function sanitizeFilename(tag: string): string {
670
670
  <div class='footer quiet pad2 space-top1 center small'>
671
671
  Code coverage generated by
672
672
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
673
- at 2026-05-07T11:38:22.647Z
673
+ at 2026-05-13T17:08:50.965Z
674
674
  </div>
675
675
  <script src="../prettify.js"></script>
676
676
  <script>
@@ -139,7 +139,7 @@ export class WarningCollector {
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2026-05-07T11:38:22.647Z
142
+ at 2026-05-13T17:08:50.965Z
143
143
  </div>
144
144
  <script src="../prettify.js"></script>
145
145
  <script>
@@ -544,7 +544,7 @@ export function opRoute(path: string, operations: OpOperationNode[], overrides?:
544
544
  <div class='footer quiet pad2 space-top1 center small'>
545
545
  Code coverage generated by
546
546
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2026-05-07T11:38:22.647Z
547
+ at 2026-05-13T17:08:50.965Z
548
548
  </div>
549
549
  <script src="../prettify.js"></script>
550
550
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-05-07T11:38:22.647Z
104
+ at 2026-05-13T17:08:50.965Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -1 +1 @@
1
- {"version":3,"file":"ast-to-ck.d.ts","sourceRoot":"","sources":["../src/ast-to-ck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EAGV,gBAAgB,EAUnB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,gBAAgB;IAC7B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAoBhF;AAiID,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA2B5D"}
1
+ {"version":3,"file":"ast-to-ck.d.ts","sourceRoot":"","sources":["../src/ast-to-ck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EAGV,gBAAgB,EAUnB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,gBAAgB;IAC7B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAoBhF;AAkID,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA2B5D"}
@@ -1090,20 +1090,7 @@ function convertSecurity(security) {
1090
1090
  if (security.length === 0) {
1091
1091
  return "none";
1092
1092
  }
1093
- const allScopes = [];
1094
- for (const requirement of security) {
1095
- for (const scopes of Object.values(requirement)) {
1096
- allScopes.push(...scopes);
1097
- }
1098
- }
1099
- if (allScopes.length > 0) {
1100
- return {
1101
- roles: allScopes,
1102
- loc: LOC2
1103
- };
1104
- }
1105
1093
  return {
1106
- roles: [],
1107
1094
  loc: LOC2
1108
1095
  };
1109
1096
  }
@@ -1343,8 +1330,9 @@ function serializeOptions(root) {
1343
1330
  lines.push(`${INDENT}${INDENT}none`);
1344
1331
  } else {
1345
1332
  const sec = root.security;
1346
- if (sec.roles && sec.roles.length > 0) {
1347
- lines.push(`${INDENT}${INDENT}roles: [${sec.roles.join(", ")}]`);
1333
+ if (sec.policy !== void 0) {
1334
+ const value = sec.policy === false ? "none" : sec.policy;
1335
+ lines.push(`${INDENT}${INDENT}policy: ${value}`);
1348
1336
  }
1349
1337
  }
1350
1338
  lines.push(`${INDENT}}`);
@@ -1607,10 +1595,11 @@ function serializeSecurityBlock(lines, security, depth, ctx) {
1607
1595
  return;
1608
1596
  }
1609
1597
  const sec = security;
1610
- if (sec.roles && sec.roles.length > 0) {
1611
- const rolesComment = ctx.includeComments && sec.rolesDescription ? ` # ${sec.rolesDescription}` : "";
1598
+ if (sec.policy !== void 0) {
1599
+ const comment = ctx.includeComments && sec.policyDescription ? ` # ${sec.policyDescription}` : "";
1600
+ const value = sec.policy === false ? "none" : sec.policy;
1612
1601
  lines.push(`${indent}security: {`);
1613
- lines.push(`${INDENT.repeat(depth + 1)}roles: [${sec.roles.join(", ")}]${rolesComment}`);
1602
+ lines.push(`${INDENT.repeat(depth + 1)}policy: ${value}${comment}`);
1614
1603
  lines.push(`${indent}}`);
1615
1604
  } else {
1616
1605
  lines.push(`${indent}security: {}`);
@@ -1776,4 +1765,4 @@ export {
1776
1765
  serializeType,
1777
1766
  convertOpenApiToCk
1778
1767
  };
1779
- //# sourceMappingURL=chunk-YP7FWA4H.js.map
1768
+ //# sourceMappingURL=chunk-YOTHJ2V4.js.map