@@ -27,6 +27,58 @@ type FlowModelOptions = {
2727 onResults : ( results : ModeledMethod [ ] ) => void | Promise < void > ;
2828} ;
2929
30+ export async function generateFlowModel ( {
31+ onResults,
32+ ...options
33+ } : FlowModelOptions ) {
34+ const queries = await resolveQueries ( options . cliServer , options . databaseItem ) ;
35+
36+ const queriesByBasename : Record < string , string > = { } ;
37+ for ( const query of queries ) {
38+ queriesByBasename [ basename ( query ) ] = query ;
39+ }
40+
41+ const summaryResults = await getModeledMethodsFromFlow (
42+ "summary" ,
43+ queriesByBasename [ "CaptureSummaryModels.ql" ] ,
44+ 0 ,
45+ options ,
46+ ) ;
47+ if ( summaryResults ) {
48+ await onResults ( summaryResults ) ;
49+ }
50+
51+ const sinkResults = await getModeledMethodsFromFlow (
52+ "sink" ,
53+ queriesByBasename [ "CaptureSinkModels.ql" ] ,
54+ 1 ,
55+ options ,
56+ ) ;
57+ if ( sinkResults ) {
58+ await onResults ( sinkResults ) ;
59+ }
60+
61+ const sourceResults = await getModeledMethodsFromFlow (
62+ "source" ,
63+ queriesByBasename [ "CaptureSourceModels.ql" ] ,
64+ 2 ,
65+ options ,
66+ ) ;
67+ if ( sourceResults ) {
68+ await onResults ( sourceResults ) ;
69+ }
70+
71+ const neutralResults = await getModeledMethodsFromFlow (
72+ "neutral" ,
73+ queriesByBasename [ "CaptureNeutralModels.ql" ] ,
74+ 3 ,
75+ options ,
76+ ) ;
77+ if ( neutralResults ) {
78+ await onResults ( neutralResults ) ;
79+ }
80+ }
81+
3082async function resolveQueries (
3183 cliServer : CodeQLCliServer ,
3284 databaseItem : DatabaseItem ,
@@ -154,55 +206,3 @@ async function getModeledMethodsFromFlow(
154206 } )
155207 ) ;
156208}
157-
158- export async function generateFlowModel ( {
159- onResults,
160- ...options
161- } : FlowModelOptions ) {
162- const queries = await resolveQueries ( options . cliServer , options . databaseItem ) ;
163-
164- const queriesByBasename : Record < string , string > = { } ;
165- for ( const query of queries ) {
166- queriesByBasename [ basename ( query ) ] = query ;
167- }
168-
169- const summaryResults = await getModeledMethodsFromFlow (
170- "summary" ,
171- queriesByBasename [ "CaptureSummaryModels.ql" ] ,
172- 0 ,
173- options ,
174- ) ;
175- if ( summaryResults ) {
176- await onResults ( summaryResults ) ;
177- }
178-
179- const sinkResults = await getModeledMethodsFromFlow (
180- "sink" ,
181- queriesByBasename [ "CaptureSinkModels.ql" ] ,
182- 1 ,
183- options ,
184- ) ;
185- if ( sinkResults ) {
186- await onResults ( sinkResults ) ;
187- }
188-
189- const sourceResults = await getModeledMethodsFromFlow (
190- "source" ,
191- queriesByBasename [ "CaptureSourceModels.ql" ] ,
192- 2 ,
193- options ,
194- ) ;
195- if ( sourceResults ) {
196- await onResults ( sourceResults ) ;
197- }
198-
199- const neutralResults = await getModeledMethodsFromFlow (
200- "neutral" ,
201- queriesByBasename [ "CaptureNeutralModels.ql" ] ,
202- 3 ,
203- options ,
204- ) ;
205- if ( neutralResults ) {
206- await onResults ( neutralResults ) ;
207- }
208- }
0 commit comments