@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.
@@ -1,9 +1,9 @@
1
1
 
2
- > @contractkit/openapi-to-ck@0.7.7 build:ci /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
2
+ > @contractkit/openapi-to-ck@0.8.0 build:ci /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
3
3
  > eslint --max-warnings=0 && pnpm run build
4
4
 
5
5
 
6
- > @contractkit/openapi-to-ck@0.7.7 build /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
6
+ > @contractkit/openapi-to-ck@0.8.0 build /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
7
7
  > tsup src/index.ts src/plugin.ts --format esm --sourcemap --dts && tsc --emitDeclarationOnly --declaration
8
8
 
9
9
  CLI Building entry: src/index.ts, src/plugin.ts
@@ -13,12 +13,12 @@
13
13
  ESM Build start
14
14
  ESM dist/index.js 498.00 B
15
15
  ESM dist/plugin.js 2.51 KB
16
- ESM dist/chunk-YP7FWA4H.js 50.65 KB
16
+ ESM dist/chunk-YOTHJ2V4.js 50.45 KB
17
17
  ESM dist/index.js.map 71.00 B
18
18
  ESM dist/plugin.js.map 4.95 KB
19
- ESM dist/chunk-YP7FWA4H.js.map 117.23 KB
20
- ESM ⚡️ Build success in 210ms
19
+ ESM dist/chunk-YOTHJ2V4.js.map 116.74 KB
20
+ ESM ⚡️ Build success in 248ms
21
21
  DTS Build start
22
- DTS ⚡️ Build success in 7624ms
22
+ DTS ⚡️ Build success in 7869ms
23
23
  DTS dist/index.d.ts 8.29 KB
24
24
  DTS dist/plugin.d.ts 128.00 B
@@ -1,34 +1,34 @@
1
1
 
2
- > @contractkit/openapi-to-ck@0.7.7 test:ci /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
2
+ > @contractkit/openapi-to-ck@0.8.0 test:ci /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
3
3
  > vitest run --coverage
4
4
 
5
5
 
6
6
   RUN  v4.1.5 /home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck
7
7
  Coverage enabled with v8
8
8
 
9
- ✓ tests/ast-to-ck.test.ts (35 tests) 141ms
10
- ✓ tests/schema-to-ast.test.ts (36 tests) 131ms
11
- ✓ tests/normalize.test.ts (6 tests) 85ms
12
- ✓ tests/tag-splitter.test.ts (5 tests) 69ms
13
- ✓ tests/circular-refs.test.ts (8 tests) 35ms
14
- ✓ tests/convert.test.ts (16 tests) 228ms
9
+ ✓ tests/ast-to-ck.test.ts (35 tests) 61ms
10
+ ✓ tests/schema-to-ast.test.ts (36 tests) 47ms
11
+ ✓ tests/normalize.test.ts (6 tests) 20ms
12
+ ✓ tests/tag-splitter.test.ts (5 tests) 79ms
13
+ ✓ tests/convert.test.ts (16 tests) 196ms
14
+ ✓ tests/circular-refs.test.ts (8 tests) 42ms
15
15
 
16
16
   Test Files  6 passed (6)
17
17
   Tests  106 passed (106)
18
-  Start at  11:38:16
19
-  Duration  5.72s (transform 2.16s, setup 0ms, import 5.73s, tests 689ms, environment 35ms)
18
+  Start at  17:08:46
19
+  Duration  4.23s (transform 2.17s, setup 0ms, import 4.69s, tests 444ms, environment 1ms)
20
20
 
21
21
   % Coverage report from v8
22
22
  -------------------|---------|----------|---------|---------|-------------------------------------------------------------
23
23
  File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
24
24
  -------------------|---------|----------|---------|---------|-------------------------------------------------------------
25
- All files | 80.49 | 70.11 | 94.69 | 82.95 |
26
- src | 80.24 | 70.39 | 93.47 | 82.57 |
27
- ast-to-ck.ts | 90.65 | 82.01 | 100 | 91.91 | 82-91,168,263,295-296,311,344-345,355,415
25
+ All files | 80.95 | 70.17 | 94.69 | 83.47 |
26
+ src | 80.72 | 70.45 | 93.47 | 83.1 |
27
+ ast-to-ck.ts | 90.27 | 81.48 | 100 | 91.5 | 82-92,169,264,296-297,312,345-346,356,417
28
28
  circular-refs.ts | 100 | 90 | 100 | 100 | 20-23
29
29
  convert.ts | 77.19 | 87.5 | 80 | 77.77 | 83-98,112-117
30
30
  normalize.ts | 62.96 | 56.6 | 80 | 63.33 | 79,121-163,237-255,270-271,280-309,346,350,358
31
- paths-to-ast.ts | 81.2 | 64.48 | 100 | 85.12 | 100,125,130,140-141,149,192,206,247,277,283,320-332
31
+ paths-to-ast.ts | 85.03 | 65.71 | 100 | 89.56 | 100,125,130,140-141,149,192,206,247,277,283,320
32
32
  schema-to-ast.ts | 84.69 | 75 | 95.65 | 87.65 | 128-129,151,159,173,196-197,205-206,311-314,353-360,396-404
33
33
  tag-splitter.ts | 70 | 57.14 | 81.81 | 76.47 | 63-71,137-138,141-146,162-163,171-178
34
34
  warnings.ts | 100 | 100 | 100 | 100 |
package/CHANGELOG.md CHANGED
@@ -1,5 +1,80 @@
1
1
  # @contractkit/openapi-to-ck
2
2
 
3
+ ## 0.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - dd8197b: **Breaking:** Replace the `requireMfa: boolean` field in `security: { ... }` blocks with `policy: <ident|none>`, and switch the generated Koa router middleware from `requireSecurity` to ServerKit's new `requirePolicy`.
8
+
9
+ The `security` declaration on operations, routes, and the file-level `options { security: { ... } }` block no longer accepts a `requireMfa:` line. The new field is `policy:` and takes a bare identifier (the named policy) or the keyword `none` to explicitly bypass policy enforcement. Existing `.ck` files that use `requireMfa:` will fail to parse.
10
+
11
+ ```ck
12
+ # Before
13
+ security: {
14
+ requireMfa: true
15
+ }
16
+
17
+ # After
18
+ security: {
19
+ policy: paymentsWrite
20
+ }
21
+
22
+ # Explicit bypass
23
+ security: {
24
+ policy: none
25
+ }
26
+ ```
27
+
28
+ **`@contractkit/core`** — `SecurityFields` interface drops `requireMfa` / `requireMfaDescription` and adds `policy?: string | false` / `policyDescription?: string`. The grammar's `SecurityRequireMfaLine` is replaced by `SecurityPolicyLine` (`policyKw ":" (noneKw | identifier)`). `security: none` (the route-level public sentinel) is unchanged.
29
+
30
+ **`@contractkit/plugin-typescript`** — Generated Koa routers now import `requirePolicy` from `@maroonedsoftware/koa` (previously `requireSecurity`) and emit `requirePolicy({ policy: 'name' })`, `requirePolicy({ policy: false })`, or bare `requirePolicy()`. Consumers must upgrade ServerKit alongside.
31
+
32
+ **`@contractkit/prettier-plugin`** — Formats `policy: <name>` and `policy: none` lines inside security blocks. Files containing `requireMfa:` will no longer round-trip and will surface as parse errors.
33
+
34
+ **`@contractkit/plugin-markdown`** — The "Security: authenticated" admonition now shows `policy: <name|none>` instead of `requireMfa: <bool>`.
35
+
36
+ **`@contractkit/openapi-to-ck`** — Non-empty OpenAPI `security` requirements continue to collapse to an empty `security: {}` (authenticated, default policy); the serializer now emits `policy:` lines when the field is set.
37
+
38
+ **`contractkit-vscode-extension`** — TextMate grammar highlights `policy:` inside the security block; LSP completion offers `policy` instead of `requireMfa`. Re-run `pnpm run vscode:install` to pick up the change.
39
+
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [dd8197b]
43
+ - @contractkit/core@0.18.0
44
+
45
+ ## 0.7.8
46
+
47
+ ### Patch Changes
48
+
49
+ - 79af33b: **Breaking:** Replace the `roles` field in `security: { ... }` blocks with `requireMfa: boolean`.
50
+
51
+ The `security` declaration on operations, routes, and the file-level `options { security: { ... } }` block no longer accepts a `roles:` line. The new field is `requireMfa: true | false`. Existing `.ck` files that use `roles:` will fail to parse.
52
+
53
+ ```ck
54
+ # Before
55
+ security: {
56
+ roles: admin editor
57
+ }
58
+
59
+ # After
60
+ security: {
61
+ requireMfa: true
62
+ }
63
+ ```
64
+
65
+ **`@contractkit/core`** — `SecurityFields` interface drops `roles` / `rolesDescription` and adds `requireMfa` / `requireMfaDescription`. The grammar's `SecurityRolesLine` is replaced by `SecurityRequireMfaLine` (`requireMfaKw ":" booleanLit`). `security: none` continues to work.
66
+
67
+ **`@contractkit/plugin-typescript`** — Generated Koa routers now emit `requireSecurity({ requireMfa: <bool> })` when `requireMfa` is set, and bare `requireSecurity()` for unannotated routes (previously `requireSecurity({ roles: [...] })` / `requireSecurity({ })`). The generated code matches the updated serverkit `SecurityOptions = { requireMfa: boolean }` signature; consumers must upgrade serverkit alongside.
68
+
69
+ **`@contractkit/prettier-plugin`** — Formats `requireMfa: true|false` lines inside security blocks. Files containing `roles:` will no longer round-trip and will surface as parse errors.
70
+
71
+ **`@contractkit/plugin-markdown`** — The "Security: authenticated" admonition now shows `requireMfa: <bool>` instead of `roles: <list>`.
72
+
73
+ **`@contractkit/openapi-to-ck`** — `convertSecurity` no longer extracts OpenAPI scopes into a `roles` list (those don't map onto MFA semantics). Any non-empty OpenAPI `security` requirement now collapses to `security: {}` (authenticated, no MFA flag).
74
+
75
+ - Updated dependencies [79af33b]
76
+ - @contractkit/core@0.17.0
77
+
3
78
  ## 0.7.7
4
79
 
5
80
  ### Patch Changes
@@ -1,11 +1,11 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1778153902763" clover="3.2.0">
3
- <project timestamp="1778153902763" name="All files">
4
- <metrics statements="839" coveredstatements="696" conditionals="753" coveredconditionals="528" methods="113" coveredmethods="107" elements="1705" coveredelements="1331" complexity="0" loc="839" ncloc="839" packages="2" files="9" classes="9"/>
2
+ <coverage generated="1778692131019" clover="3.2.0">
3
+ <project timestamp="1778692131020" name="All files">
4
+ <metrics statements="835" coveredstatements="697" conditionals="751" coveredconditionals="527" methods="113" coveredmethods="107" elements="1699" coveredelements="1331" complexity="0" loc="835" ncloc="835" packages="2" files="9" classes="9"/>
5
5
  <package name="src">
6
- <metrics statements="809" coveredstatements="668" conditionals="733" coveredconditionals="516" methods="92" coveredmethods="86"/>
6
+ <metrics statements="805" coveredstatements="669" conditionals="731" coveredconditionals="515" methods="92" coveredmethods="86"/>
7
7
  <file name="ast-to-ck.ts" path="/home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck/src/ast-to-ck.ts">
8
- <metrics statements="198" coveredstatements="182" conditionals="189" coveredconditionals="155" methods="18" coveredmethods="18"/>
8
+ <metrics statements="200" coveredstatements="183" conditionals="189" coveredconditionals="154" methods="18" coveredmethods="18"/>
9
9
  <line num="17" count="2" type="stmt"/>
10
10
  <line num="27" count="47" type="cond" truecount="1" falsecount="0"/>
11
11
  <line num="28" count="47" type="stmt"/>
@@ -37,173 +37,175 @@
37
37
  <line num="83" count="0" type="cond" truecount="0" falsecount="2"/>
38
38
  <line num="84" count="0" type="stmt"/>
39
39
  <line num="86" count="0" type="stmt"/>
40
- <line num="87" count="0" type="cond" truecount="0" falsecount="4"/>
41
- <line num="88" count="0" type="stmt"/>
42
- <line num="91" count="0" type="stmt"/>
43
- <line num="94" count="11" type="stmt"/>
40
+ <line num="87" count="0" type="cond" truecount="0" falsecount="2"/>
41
+ <line num="88" count="0" type="cond" truecount="0" falsecount="2"/>
42
+ <line num="89" count="0" type="stmt"/>
43
+ <line num="92" count="0" type="stmt"/>
44
44
  <line num="95" count="11" type="stmt"/>
45
- <line num="101" count="46" type="stmt"/>
46
- <line num="104" count="46" type="stmt"/>
47
- <line num="105" count="46" type="cond" truecount="4" falsecount="0"/>
48
- <line num="106" count="1" type="stmt"/>
49
- <line num="108" count="46" type="cond" truecount="4" falsecount="0"/>
50
- <line num="109" count="1" type="stmt"/>
51
- <line num="111" count="46" type="cond" truecount="2" falsecount="0"/>
52
- <line num="112" count="1" type="stmt"/>
53
- <line num="115" count="46" type="cond" truecount="2" falsecount="0"/>
54
- <line num="116" count="46" type="cond" truecount="4" falsecount="0"/>
55
- <line num="119" count="46" type="cond" truecount="2" falsecount="0"/>
56
- <line num="120" count="2" type="stmt"/>
45
+ <line num="96" count="11" type="stmt"/>
46
+ <line num="102" count="46" type="stmt"/>
47
+ <line num="105" count="46" type="stmt"/>
48
+ <line num="106" count="46" type="cond" truecount="4" falsecount="0"/>
49
+ <line num="107" count="1" type="stmt"/>
50
+ <line num="109" count="46" type="cond" truecount="4" falsecount="0"/>
51
+ <line num="110" count="1" type="stmt"/>
52
+ <line num="112" count="46" type="cond" truecount="2" falsecount="0"/>
53
+ <line num="113" count="1" type="stmt"/>
54
+ <line num="116" count="46" type="cond" truecount="2" falsecount="0"/>
55
+ <line num="117" count="46" type="cond" truecount="4" falsecount="0"/>
56
+ <line num="120" count="46" type="cond" truecount="2" falsecount="0"/>
57
57
  <line num="121" count="2" type="stmt"/>
58
- <line num="125" count="44" type="cond" truecount="4" falsecount="0"/>
59
- <line num="126" count="1" type="stmt"/>
60
- <line num="128" count="43" type="stmt"/>
61
- <line num="131" count="44" type="stmt"/>
62
- <line num="132" count="122" type="stmt"/>
63
- <line num="135" count="44" type="stmt"/>
58
+ <line num="122" count="2" type="stmt"/>
59
+ <line num="126" count="44" type="cond" truecount="4" falsecount="0"/>
60
+ <line num="127" count="1" type="stmt"/>
61
+ <line num="129" count="43" type="stmt"/>
62
+ <line num="132" count="44" type="stmt"/>
63
+ <line num="133" count="122" type="stmt"/>
64
64
  <line num="136" count="44" type="stmt"/>
65
- <line num="140" count="124" type="stmt"/>
66
- <line num="141" count="124" type="cond" truecount="2" falsecount="0"/>
65
+ <line num="137" count="44" type="stmt"/>
66
+ <line num="141" count="124" type="stmt"/>
67
67
  <line num="142" count="124" type="cond" truecount="2" falsecount="0"/>
68
- <line num="143" count="124" type="cond" truecount="1" falsecount="1"/>
69
- <line num="145" count="124" type="stmt"/>
70
- <line num="148" count="124" type="cond" truecount="4" falsecount="0"/>
71
- <line num="149" count="1" type="stmt"/>
72
- <line num="152" count="124" type="cond" truecount="2" falsecount="0"/>
73
- <line num="153" count="124" type="cond" truecount="4" falsecount="0"/>
74
- <line num="155" count="124" type="stmt"/>
75
- <line num="159" count="1" type="cond" truecount="3" falsecount="1"/>
76
- <line num="160" count="1" type="cond" truecount="1" falsecount="1"/>
77
- <line num="161" count="1" type="stmt"/>
78
- <line num="165" count="13" type="cond" truecount="2" falsecount="0"/>
79
- <line num="167" count="11" type="cond" truecount="1" falsecount="1"/>
80
- <line num="168" count="0" type="stmt"/>
81
- <line num="170" count="2" type="stmt"/>
82
- <line num="176" count="294" type="cond" truecount="12" falsecount="0"/>
83
- <line num="178" count="169" type="stmt"/>
84
- <line num="180" count="18" type="stmt"/>
85
- <line num="182" count="1" type="stmt"/>
86
- <line num="184" count="11" type="stmt"/>
87
- <line num="186" count="26" type="stmt"/>
88
- <line num="188" count="3" type="stmt"/>
89
- <line num="190" count="1" type="stmt"/>
90
- <line num="192" count="1" type="stmt"/>
91
- <line num="194" count="1" type="stmt"/>
92
- <line num="196" count="61" type="stmt"/>
93
- <line num="198" count="1" type="stmt"/>
94
- <line num="200" count="1" type="stmt"/>
95
- <line num="212" count="169" type="stmt"/>
96
- <line num="213" count="169" type="cond" truecount="2" falsecount="0"/>
97
- <line num="214" count="169" type="cond" truecount="3" falsecount="1"/>
68
+ <line num="143" count="124" type="cond" truecount="2" falsecount="0"/>
69
+ <line num="144" count="124" type="cond" truecount="1" falsecount="1"/>
70
+ <line num="146" count="124" type="stmt"/>
71
+ <line num="149" count="124" type="cond" truecount="4" falsecount="0"/>
72
+ <line num="150" count="1" type="stmt"/>
73
+ <line num="153" count="124" type="cond" truecount="2" falsecount="0"/>
74
+ <line num="154" count="124" type="cond" truecount="4" falsecount="0"/>
75
+ <line num="156" count="124" type="stmt"/>
76
+ <line num="160" count="1" type="cond" truecount="3" falsecount="1"/>
77
+ <line num="161" count="1" type="cond" truecount="1" falsecount="1"/>
78
+ <line num="162" count="1" type="stmt"/>
79
+ <line num="166" count="13" type="cond" truecount="2" falsecount="0"/>
80
+ <line num="168" count="11" type="cond" truecount="1" falsecount="1"/>
81
+ <line num="169" count="0" type="stmt"/>
82
+ <line num="171" count="2" type="stmt"/>
83
+ <line num="177" count="294" type="cond" truecount="12" falsecount="0"/>
84
+ <line num="179" count="169" type="stmt"/>
85
+ <line num="181" count="18" type="stmt"/>
86
+ <line num="183" count="1" type="stmt"/>
87
+ <line num="185" count="11" type="stmt"/>
88
+ <line num="187" count="26" type="stmt"/>
89
+ <line num="189" count="3" type="stmt"/>
90
+ <line num="191" count="1" type="stmt"/>
91
+ <line num="193" count="1" type="stmt"/>
92
+ <line num="195" count="1" type="stmt"/>
93
+ <line num="197" count="61" type="stmt"/>
94
+ <line num="199" count="1" type="stmt"/>
95
+ <line num="201" count="1" type="stmt"/>
96
+ <line num="213" count="169" type="stmt"/>
97
+ <line num="214" count="169" type="cond" truecount="2" falsecount="0"/>
98
98
  <line num="215" count="169" type="cond" truecount="3" falsecount="1"/>
99
- <line num="216" count="169" type="cond" truecount="2" falsecount="0"/>
100
- <line num="217" count="169" type="cond" truecount="1" falsecount="1"/>
101
- <line num="219" count="169" type="cond" truecount="2" falsecount="0"/>
102
- <line num="220" count="39" type="stmt"/>
103
- <line num="224" count="18" type="stmt"/>
104
- <line num="225" count="18" type="cond" truecount="2" falsecount="0"/>
99
+ <line num="216" count="169" type="cond" truecount="3" falsecount="1"/>
100
+ <line num="217" count="169" type="cond" truecount="2" falsecount="0"/>
101
+ <line num="218" count="169" type="cond" truecount="1" falsecount="1"/>
102
+ <line num="220" count="169" type="cond" truecount="2" falsecount="0"/>
103
+ <line num="221" count="39" type="stmt"/>
104
+ <line num="225" count="18" type="stmt"/>
105
105
  <line num="226" count="18" type="cond" truecount="2" falsecount="0"/>
106
- <line num="227" count="18" type="stmt"/>
107
- <line num="231" count="3" type="cond" truecount="2" falsecount="0"/>
108
- <line num="232" count="2" type="stmt"/>
109
- <line num="236" count="1" type="cond" truecount="1" falsecount="1"/>
106
+ <line num="227" count="18" type="cond" truecount="2" falsecount="0"/>
107
+ <line num="228" count="18" type="stmt"/>
108
+ <line num="232" count="3" type="cond" truecount="2" falsecount="0"/>
109
+ <line num="233" count="2" type="stmt"/>
110
110
  <line num="237" count="1" type="cond" truecount="1" falsecount="1"/>
111
- <line num="239" count="1" type="stmt"/>
111
+ <line num="238" count="1" type="cond" truecount="1" falsecount="1"/>
112
112
  <line num="240" count="1" type="stmt"/>
113
- <line num="241" count="2" type="stmt"/>
114
- <line num="243" count="1" type="stmt"/>
113
+ <line num="241" count="1" type="stmt"/>
114
+ <line num="242" count="2" type="stmt"/>
115
115
  <line num="244" count="1" type="stmt"/>
116
- <line num="250" count="45" type="stmt"/>
117
- <line num="252" count="45" type="stmt"/>
118
- <line num="253" count="45" type="cond" truecount="3" falsecount="1"/>
119
- <line num="254" count="45" type="stmt"/>
120
- <line num="257" count="45" type="cond" truecount="2" falsecount="0"/>
121
- <line num="258" count="13" type="stmt"/>
122
- <line num="262" count="45" type="cond" truecount="1" falsecount="1"/>
123
- <line num="263" count="0" type="stmt"/>
124
- <line num="267" count="45" type="stmt"/>
125
- <line num="268" count="66" type="stmt"/>
126
- <line num="271" count="45" type="stmt"/>
116
+ <line num="245" count="1" type="stmt"/>
117
+ <line num="251" count="45" type="stmt"/>
118
+ <line num="253" count="45" type="stmt"/>
119
+ <line num="254" count="45" type="cond" truecount="3" falsecount="1"/>
120
+ <line num="255" count="45" type="stmt"/>
121
+ <line num="258" count="45" type="cond" truecount="2" falsecount="0"/>
122
+ <line num="259" count="13" type="stmt"/>
123
+ <line num="263" count="45" type="cond" truecount="1" falsecount="1"/>
124
+ <line num="264" count="0" type="stmt"/>
125
+ <line num="268" count="45" type="stmt"/>
126
+ <line num="269" count="66" type="stmt"/>
127
127
  <line num="272" count="45" type="stmt"/>
128
- <line num="276" count="66" type="stmt"/>
128
+ <line num="273" count="45" type="stmt"/>
129
129
  <line num="277" count="66" type="stmt"/>
130
- <line num="278" count="66" type="cond" truecount="3" falsecount="1"/>
131
- <line num="279" count="66" type="stmt"/>
132
- <line num="281" count="66" type="stmt"/>
133
- <line num="284" count="66" type="cond" truecount="2" falsecount="0"/>
134
- <line num="285" count="2" type="stmt"/>
135
- <line num="289" count="66" type="cond" truecount="2" falsecount="0"/>
136
- <line num="290" count="55" type="stmt"/>
137
- <line num="294" count="66" type="cond" truecount="1" falsecount="1"/>
138
- <line num="295" count="0" type="cond" truecount="0" falsecount="4"/>
139
- <line num="296" count="0" type="stmt"/>
140
- <line num="300" count="66" type="cond" truecount="2" falsecount="0"/>
141
- <line num="301" count="12" type="stmt"/>
142
- <line num="305" count="66" type="cond" truecount="2" falsecount="0"/>
143
- <line num="306" count="11" type="stmt"/>
144
- <line num="310" count="66" type="cond" truecount="1" falsecount="1"/>
145
- <line num="311" count="0" type="stmt"/>
146
- <line num="315" count="66" type="cond" truecount="2" falsecount="0"/>
147
- <line num="316" count="12" type="stmt"/>
148
- <line num="320" count="66" type="cond" truecount="1" falsecount="1"/>
149
- <line num="321" count="66" type="stmt"/>
150
- <line num="324" count="66" type="stmt"/>
130
+ <line num="278" count="66" type="stmt"/>
131
+ <line num="279" count="66" type="cond" truecount="3" falsecount="1"/>
132
+ <line num="280" count="66" type="stmt"/>
133
+ <line num="282" count="66" type="stmt"/>
134
+ <line num="285" count="66" type="cond" truecount="2" falsecount="0"/>
135
+ <line num="286" count="2" type="stmt"/>
136
+ <line num="290" count="66" type="cond" truecount="2" falsecount="0"/>
137
+ <line num="291" count="55" type="stmt"/>
138
+ <line num="295" count="66" type="cond" truecount="1" falsecount="1"/>
139
+ <line num="296" count="0" type="cond" truecount="0" falsecount="4"/>
140
+ <line num="297" count="0" type="stmt"/>
141
+ <line num="301" count="66" type="cond" truecount="2" falsecount="0"/>
142
+ <line num="302" count="12" type="stmt"/>
143
+ <line num="306" count="66" type="cond" truecount="2" falsecount="0"/>
144
+ <line num="307" count="11" type="stmt"/>
145
+ <line num="311" count="66" type="cond" truecount="1" falsecount="1"/>
146
+ <line num="312" count="0" type="stmt"/>
147
+ <line num="316" count="66" type="cond" truecount="2" falsecount="0"/>
148
+ <line num="317" count="12" type="stmt"/>
149
+ <line num="321" count="66" type="cond" truecount="1" falsecount="1"/>
150
+ <line num="322" count="66" type="stmt"/>
151
151
  <line num="325" count="66" type="stmt"/>
152
- <line num="329" count="111" type="cond" truecount="4" falsecount="0"/>
153
- <line num="330" count="1" type="stmt"/>
154
- <line num="334" count="24" type="stmt"/>
155
- <line num="337" count="24" type="cond" truecount="2" falsecount="0"/>
156
- <line num="338" count="1" type="stmt"/>
152
+ <line num="326" count="66" type="stmt"/>
153
+ <line num="330" count="111" type="cond" truecount="4" falsecount="0"/>
154
+ <line num="331" count="1" type="stmt"/>
155
+ <line num="335" count="24" type="stmt"/>
156
+ <line num="338" count="24" type="cond" truecount="2" falsecount="0"/>
157
157
  <line num="339" count="1" type="stmt"/>
158
- <line num="343" count="23" type="cond" truecount="1" falsecount="1"/>
159
- <line num="344" count="0" type="stmt"/>
158
+ <line num="340" count="1" type="stmt"/>
159
+ <line num="344" count="23" type="cond" truecount="1" falsecount="1"/>
160
160
  <line num="345" count="0" type="stmt"/>
161
- <line num="349" count="23" type="cond" truecount="1" falsecount="1"/>
162
- <line num="350" count="24" type="stmt"/>
161
+ <line num="346" count="0" type="stmt"/>
162
+ <line num="350" count="23" type="cond" truecount="1" falsecount="1"/>
163
163
  <line num="351" count="24" type="stmt"/>
164
- <line num="352" count="23" type="cond" truecount="2" falsecount="0"/>
165
- <line num="353" count="23" type="stmt"/>
166
- <line num="354" count="23" type="cond" truecount="2" falsecount="2"/>
167
- <line num="355" count="0" type="stmt"/>
168
- <line num="357" count="23" type="cond" truecount="1" falsecount="1"/>
169
- <line num="358" count="23" type="cond" truecount="3" falsecount="1"/>
170
- <line num="359" count="23" type="stmt"/>
171
- <line num="361" count="23" type="stmt"/>
172
- <line num="365" count="12" type="stmt"/>
164
+ <line num="352" count="24" type="stmt"/>
165
+ <line num="353" count="23" type="cond" truecount="2" falsecount="0"/>
166
+ <line num="354" count="23" type="stmt"/>
167
+ <line num="355" count="23" type="cond" truecount="2" falsecount="2"/>
168
+ <line num="356" count="0" type="stmt"/>
169
+ <line num="358" count="23" type="cond" truecount="1" falsecount="1"/>
170
+ <line num="359" count="23" type="cond" truecount="3" falsecount="1"/>
171
+ <line num="360" count="23" type="stmt"/>
172
+ <line num="362" count="23" type="stmt"/>
173
173
  <line num="366" count="12" type="stmt"/>
174
174
  <line num="367" count="12" type="stmt"/>
175
175
  <line num="368" count="12" type="stmt"/>
176
- <line num="370" count="12" type="stmt"/>
177
- <line num="374" count="66" type="stmt"/>
176
+ <line num="369" count="12" type="stmt"/>
177
+ <line num="371" count="12" type="stmt"/>
178
178
  <line num="375" count="66" type="stmt"/>
179
179
  <line num="376" count="66" type="stmt"/>
180
- <line num="377" count="76" type="cond" truecount="2" falsecount="0"/>
180
+ <line num="377" count="66" type="stmt"/>
181
181
  <line num="378" count="76" type="cond" truecount="2" falsecount="0"/>
182
- <line num="379" count="76" type="cond" truecount="4" falsecount="0"/>
183
- <line num="380" count="54" type="stmt"/>
184
- <line num="381" count="54" type="cond" truecount="2" falsecount="0"/>
185
- <line num="382" count="53" type="stmt"/>
186
- <line num="384" count="54" type="cond" truecount="2" falsecount="0"/>
187
- <line num="385" count="3" type="stmt"/>
182
+ <line num="379" count="76" type="cond" truecount="2" falsecount="0"/>
183
+ <line num="380" count="76" type="cond" truecount="4" falsecount="0"/>
184
+ <line num="381" count="54" type="stmt"/>
185
+ <line num="382" count="54" type="cond" truecount="2" falsecount="0"/>
186
+ <line num="383" count="53" type="stmt"/>
187
+ <line num="385" count="54" type="cond" truecount="2" falsecount="0"/>
188
188
  <line num="386" count="3" type="stmt"/>
189
- <line num="387" count="4" type="cond" truecount="2" falsecount="0"/>
189
+ <line num="387" count="3" type="stmt"/>
190
190
  <line num="388" count="4" type="cond" truecount="2" falsecount="0"/>
191
- <line num="389" count="4" type="stmt"/>
192
- <line num="391" count="3" type="stmt"/>
193
- <line num="393" count="54" type="stmt"/>
194
- <line num="395" count="22" type="stmt"/>
195
- <line num="398" count="66" type="stmt"/>
196
- <line num="402" count="12" type="stmt"/>
197
- <line num="403" count="12" type="cond" truecount="2" falsecount="0"/>
198
- <line num="404" count="11" type="stmt"/>
191
+ <line num="389" count="4" type="cond" truecount="2" falsecount="0"/>
192
+ <line num="390" count="4" type="stmt"/>
193
+ <line num="392" count="3" type="stmt"/>
194
+ <line num="394" count="54" type="stmt"/>
195
+ <line num="396" count="22" type="stmt"/>
196
+ <line num="399" count="66" type="stmt"/>
197
+ <line num="403" count="12" type="stmt"/>
198
+ <line num="404" count="12" type="cond" truecount="2" falsecount="0"/>
199
199
  <line num="405" count="11" type="stmt"/>
200
- <line num="408" count="1" type="stmt"/>
201
- <line num="409" count="1" type="cond" truecount="3" falsecount="1"/>
202
- <line num="410" count="1" type="cond" truecount="3" falsecount="1"/>
203
- <line num="411" count="1" type="stmt"/>
204
- <line num="412" count="1" type="stmt"/>
200
+ <line num="406" count="11" type="stmt"/>
201
+ <line num="409" count="1" type="stmt"/>
202
+ <line num="410" count="1" type="cond" truecount="1" falsecount="1"/>
203
+ <line num="411" count="1" type="cond" truecount="3" falsecount="1"/>
204
+ <line num="412" count="1" type="cond" truecount="1" falsecount="1"/>
205
205
  <line num="413" count="1" type="stmt"/>
206
- <line num="415" count="0" type="stmt"/>
206
+ <line num="414" count="1" type="stmt"/>
207
+ <line num="415" count="1" type="stmt"/>
208
+ <line num="417" count="0" type="stmt"/>
207
209
  </file>
208
210
  <file name="circular-refs.ts" path="/home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck/src/circular-refs.ts">
209
211
  <metrics statements="33" coveredstatements="33" conditionals="20" coveredconditionals="18" methods="5" coveredmethods="5"/>
@@ -452,7 +454,7 @@
452
454
  <line num="358" count="0" type="stmt"/>
453
455
  </file>
454
456
  <file name="paths-to-ast.ts" path="/home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck/src/paths-to-ast.ts">
455
- <metrics statements="121" coveredstatements="103" conditionals="107" coveredconditionals="69" methods="16" coveredmethods="16"/>
457
+ <metrics statements="115" coveredstatements="103" conditionals="105" coveredconditionals="69" methods="16" coveredmethods="16"/>
456
458
  <line num="25" count="1" type="stmt"/>
457
459
  <line num="26" count="1" type="stmt"/>
458
460
  <line num="46" count="16" type="stmt"/>
@@ -564,16 +566,10 @@
564
566
  <line num="314" count="10" type="cond" truecount="1" falsecount="1"/>
565
567
  <line num="315" count="10" type="stmt"/>
566
568
  <line num="320" count="0" type="stmt"/>
567
- <line num="321" count="0" type="stmt"/>
568
- <line num="322" count="0" type="stmt"/>
569
- <line num="323" count="0" type="stmt"/>
570
- <line num="327" count="0" type="cond" truecount="0" falsecount="2"/>
571
- <line num="328" count="0" type="stmt"/>
572
- <line num="332" count="0" type="stmt"/>
573
- <line num="338" count="88" type="stmt"/>
574
- <line num="350" count="53" type="stmt"/>
575
- <line num="354" count="53" type="stmt"/>
576
- <line num="359" count="88" type="stmt"/>
569
+ <line num="326" count="88" type="stmt"/>
570
+ <line num="338" count="53" type="stmt"/>
571
+ <line num="342" count="53" type="stmt"/>
572
+ <line num="347" count="88" type="stmt"/>
577
573
  </file>
578
574
  <file name="schema-to-ast.ts" path="/home/runner/work/ContractKit/ContractKit/packages/openapi-to-ck/src/schema-to-ast.ts">
579
575
  <metrics statements="162" coveredstatements="142" conditionals="164" coveredconditionals="123" methods="23" coveredmethods="22"/>