@@ -29,100 +29,111 @@ const SupportedUnsupportedSpan = styled.span<SupportedUnsupportedSpanProps>`
2929` ;
3030
3131type Props = {
32- method : ExternalApiUsage ;
33- model : ModeledMethod | undefined ;
34- onChange : ( method : ExternalApiUsage , model : ModeledMethod ) => void ;
32+ externalApiUsage : ExternalApiUsage ;
33+ modeledMethod : ModeledMethod | undefined ;
34+ onChange : (
35+ externalApiUsage : ExternalApiUsage ,
36+ modeledMethod : ModeledMethod ,
37+ ) => void ;
3538} ;
3639
37- export const MethodRow = ( { method, model, onChange } : Props ) => {
40+ export const MethodRow = ( {
41+ externalApiUsage,
42+ modeledMethod,
43+ onChange,
44+ } : Props ) => {
3845 const argumentsList = useMemo ( ( ) => {
39- if ( method . methodParameters === "()" ) {
46+ if ( externalApiUsage . methodParameters === "()" ) {
4047 return [ ] ;
4148 }
42- return method . methodParameters
43- . substring ( 1 , method . methodParameters . length - 1 )
49+ return externalApiUsage . methodParameters
50+ . substring ( 1 , externalApiUsage . methodParameters . length - 1 )
4451 . split ( "," ) ;
45- } , [ method . methodParameters ] ) ;
52+ } , [ externalApiUsage . methodParameters ] ) ;
4653
4754 const handleTypeInput = useCallback (
4855 ( e : InputEvent ) => {
4956 const target = e . target as HTMLSelectElement ;
5057
51- onChange ( method , {
58+ onChange ( externalApiUsage , {
5259 input : argumentsList . length === 0 ? "Argument[-1]" : "Argument[0]" ,
5360 output : "ReturnType" ,
5461 kind : "value" ,
55- ...model ,
62+ ...modeledMethod ,
5663 type : target . value as ModeledMethod [ "type" ] ,
5764 } ) ;
5865 } ,
59- [ onChange , method , model , argumentsList ] ,
66+ [ onChange , externalApiUsage , modeledMethod , argumentsList ] ,
6067 ) ;
6168 const handleInputInput = useCallback (
6269 ( e : InputEvent ) => {
63- if ( ! model ) {
70+ if ( ! modeledMethod ) {
6471 return ;
6572 }
6673
6774 const target = e . target as HTMLSelectElement ;
6875
69- onChange ( method , {
70- ...model ,
76+ onChange ( externalApiUsage , {
77+ ...modeledMethod ,
7178 input : target . value as ModeledMethod [ "input" ] ,
7279 } ) ;
7380 } ,
74- [ onChange , method , model ] ,
81+ [ onChange , externalApiUsage , modeledMethod ] ,
7582 ) ;
7683 const handleOutputInput = useCallback (
7784 ( e : InputEvent ) => {
78- if ( ! model ) {
85+ if ( ! modeledMethod ) {
7986 return ;
8087 }
8188
8289 const target = e . target as HTMLSelectElement ;
8390
84- onChange ( method , {
85- ...model ,
91+ onChange ( externalApiUsage , {
92+ ...modeledMethod ,
8693 output : target . value as ModeledMethod [ "output" ] ,
8794 } ) ;
8895 } ,
89- [ onChange , method , model ] ,
96+ [ onChange , externalApiUsage , modeledMethod ] ,
9097 ) ;
9198 const handleKindInput = useCallback (
9299 ( e : InputEvent ) => {
93- if ( ! model ) {
100+ if ( ! modeledMethod ) {
94101 return ;
95102 }
96103
97104 const target = e . target as HTMLSelectElement ;
98105
99- onChange ( method , {
100- ...model ,
106+ onChange ( externalApiUsage , {
107+ ...modeledMethod ,
101108 kind : target . value as ModeledMethod [ "kind" ] ,
102109 } ) ;
103110 } ,
104- [ onChange , method , model ] ,
111+ [ onChange , externalApiUsage , modeledMethod ] ,
105112 ) ;
106113
107114 return (
108115 < VSCodeDataGridRow >
109116 < VSCodeDataGridCell gridColumn = { 1 } >
110- < SupportedUnsupportedSpan supported = { method . supported } >
111- { method . packageName } .{ method . typeName }
117+ < SupportedUnsupportedSpan supported = { externalApiUsage . supported } >
118+ { externalApiUsage . packageName } .{ externalApiUsage . typeName }
112119 </ SupportedUnsupportedSpan >
113120 </ VSCodeDataGridCell >
114121 < VSCodeDataGridCell gridColumn = { 2 } >
115- < SupportedUnsupportedSpan supported = { method . supported } >
116- { method . methodName }
117- { method . methodParameters }
122+ < SupportedUnsupportedSpan supported = { externalApiUsage . supported } >
123+ { externalApiUsage . methodName }
124+ { externalApiUsage . methodParameters }
118125 </ SupportedUnsupportedSpan >
119126 </ VSCodeDataGridCell >
120127 < VSCodeDataGridCell gridColumn = { 3 } >
121- { method . usages . length }
128+ { externalApiUsage . usages . length }
122129 </ VSCodeDataGridCell >
123130 < VSCodeDataGridCell gridColumn = { 4 } >
124- { ( ! method . supported || ( model && model ?. type !== "none" ) ) && (
125- < Dropdown value = { model ?. type ?? "none" } onInput = { handleTypeInput } >
131+ { ( ! externalApiUsage . supported ||
132+ ( modeledMethod && modeledMethod ?. type !== "none" ) ) && (
133+ < Dropdown
134+ value = { modeledMethod ?. type ?? "none" }
135+ onInput = { handleTypeInput }
136+ >
126137 < VSCodeOption value = "none" > Unmodelled</ VSCodeOption >
127138 < VSCodeOption value = "source" > Source</ VSCodeOption >
128139 < VSCodeOption value = "sink" > Sink</ VSCodeOption >
@@ -132,34 +143,41 @@ export const MethodRow = ({ method, model, onChange }: Props) => {
132143 ) }
133144 </ VSCodeDataGridCell >
134145 < VSCodeDataGridCell gridColumn = { 5 } >
135- { model ?. type && [ "sink" , "summary" ] . includes ( model ?. type ) && (
136- < Dropdown value = { model ?. input } onInput = { handleInputInput } >
137- < VSCodeOption value = "Argument[-1]" > Argument[-1]: this</ VSCodeOption >
138- { argumentsList . map ( ( argument , index ) => (
139- < VSCodeOption key = { argument } value = { `Argument[${ index } ]` } >
140- Argument[{ index } ]: { argument }
146+ { modeledMethod ?. type &&
147+ [ "sink" , "summary" ] . includes ( modeledMethod ?. type ) && (
148+ < Dropdown value = { modeledMethod ?. input } onInput = { handleInputInput } >
149+ < VSCodeOption value = "Argument[-1]" >
150+ Argument[-1]: this
141151 </ VSCodeOption >
142- ) ) }
143- </ Dropdown >
144- ) }
152+ { argumentsList . map ( ( argument , index ) => (
153+ < VSCodeOption key = { argument } value = { `Argument[${ index } ]` } >
154+ Argument[{ index } ]: { argument }
155+ </ VSCodeOption >
156+ ) ) }
157+ </ Dropdown >
158+ ) }
145159 </ VSCodeDataGridCell >
146160 < VSCodeDataGridCell gridColumn = { 6 } >
147- { model ?. type && [ "source" , "summary" ] . includes ( model ?. type ) && (
148- < Dropdown value = { model ?. output } onInput = { handleOutputInput } >
149- < VSCodeOption value = "ReturnValue" > ReturnValue</ VSCodeOption >
150- < VSCodeOption value = "Argument[-1]" > Argument[-1]: this</ VSCodeOption >
151- { argumentsList . map ( ( argument , index ) => (
152- < VSCodeOption key = { argument } value = { `Argument[${ index } ]` } >
153- Argument[{ index } ]: { argument }
161+ { modeledMethod ?. type &&
162+ [ "source" , "summary" ] . includes ( modeledMethod ?. type ) && (
163+ < Dropdown value = { modeledMethod ?. output } onInput = { handleOutputInput } >
164+ < VSCodeOption value = "ReturnValue" > ReturnValue</ VSCodeOption >
165+ < VSCodeOption value = "Argument[-1]" >
166+ Argument[-1]: this
154167 </ VSCodeOption >
155- ) ) }
156- </ Dropdown >
157- ) }
168+ { argumentsList . map ( ( argument , index ) => (
169+ < VSCodeOption key = { argument } value = { `Argument[${ index } ]` } >
170+ Argument[{ index } ]: { argument }
171+ </ VSCodeOption >
172+ ) ) }
173+ </ Dropdown >
174+ ) }
158175 </ VSCodeDataGridCell >
159176 < VSCodeDataGridCell gridColumn = { 7 } >
160- { model ?. type && [ "source" , "sink" , "summary" ] . includes ( model ?. type ) && (
161- < TextField value = { model ?. kind } onInput = { handleKindInput } />
162- ) }
177+ { modeledMethod ?. type &&
178+ [ "source" , "sink" , "summary" ] . includes ( modeledMethod ?. type ) && (
179+ < TextField value = { modeledMethod ?. kind } onInput = { handleKindInput } />
180+ ) }
163181 </ VSCodeDataGridCell >
164182 </ VSCodeDataGridRow >
165183 ) ;
0 commit comments