1- import { ExternalApiUsage } from "./external-api-usage" ;
2- import {
3- ModeledMethod ,
4- ModeledMethodType ,
5- ModeledMethodWithSignature ,
6- Provenance ,
7- } from "./modeled-method" ;
8-
9- export type ExternalApiUsageByType = {
10- externalApiUsage : ExternalApiUsage ;
11- modeledMethod : ModeledMethod ;
12- } ;
1+ import { ModeledMethod , ModeledMethodType , Provenance } from "./modeled-method" ;
132
143export type ExtensiblePredicateDefinition = {
154 extensiblePredicate : string ;
16- generateMethodDefinition : ( method : ExternalApiUsageByType ) => Tuple [ ] ;
17- readModeledMethod : ( row : Tuple [ ] ) => ModeledMethodWithSignature ;
5+ generateMethodDefinition : ( method : ModeledMethod ) => Tuple [ ] ;
6+ readModeledMethod : ( row : Tuple [ ] ) => ModeledMethod ;
187
198 supportedKinds ?: string [ ] ;
209} ;
@@ -36,25 +25,27 @@ export const extensiblePredicateDefinitions: Record<
3625 // string output, string kind, string provenance
3726 // );
3827 generateMethodDefinition : ( method ) => [
39- method . externalApiUsage . packageName ,
40- method . externalApiUsage . typeName ,
28+ method . packageName ,
29+ method . typeName ,
4130 true ,
42- method . externalApiUsage . methodName ,
43- method . externalApiUsage . methodParameters ,
31+ method . methodName ,
32+ method . methodParameters ,
4433 "" ,
45- method . modeledMethod . output ,
46- method . modeledMethod . kind ,
47- method . modeledMethod . provenance ,
34+ method . output ,
35+ method . kind ,
36+ method . provenance ,
4837 ] ,
4938 readModeledMethod : ( row ) => ( {
39+ type : "source" ,
40+ input : "" ,
41+ output : row [ 6 ] as string ,
42+ kind : row [ 7 ] as string ,
43+ provenance : row [ 8 ] as Provenance ,
5044 signature : readRowToMethod ( row ) ,
51- modeledMethod : {
52- type : "source" ,
53- input : "" ,
54- output : row [ 6 ] as string ,
55- kind : row [ 7 ] as string ,
56- provenance : row [ 8 ] as Provenance ,
57- } ,
45+ packageName : row [ 0 ] as string ,
46+ typeName : row [ 1 ] as string ,
47+ methodName : row [ 3 ] as string ,
48+ methodParameters : row [ 4 ] as string ,
5849 } ) ,
5950 supportedKinds : [ "remote" ] ,
6051 } ,
@@ -65,25 +56,27 @@ export const extensiblePredicateDefinitions: Record<
6556 // string input, string kind, string provenance
6657 // );
6758 generateMethodDefinition : ( method ) => [
68- method . externalApiUsage . packageName ,
69- method . externalApiUsage . typeName ,
59+ method . packageName ,
60+ method . typeName ,
7061 true ,
71- method . externalApiUsage . methodName ,
72- method . externalApiUsage . methodParameters ,
62+ method . methodName ,
63+ method . methodParameters ,
7364 "" ,
74- method . modeledMethod . input ,
75- method . modeledMethod . kind ,
76- method . modeledMethod . provenance ,
65+ method . input ,
66+ method . kind ,
67+ method . provenance ,
7768 ] ,
7869 readModeledMethod : ( row ) => ( {
70+ type : "sink" ,
71+ input : row [ 6 ] as string ,
72+ output : "" ,
73+ kind : row [ 7 ] as string ,
74+ provenance : row [ 8 ] as Provenance ,
7975 signature : readRowToMethod ( row ) ,
80- modeledMethod : {
81- type : "sink" ,
82- input : row [ 6 ] as string ,
83- output : "" ,
84- kind : row [ 7 ] as string ,
85- provenance : row [ 8 ] as Provenance ,
86- } ,
76+ packageName : row [ 0 ] as string ,
77+ typeName : row [ 1 ] as string ,
78+ methodName : row [ 3 ] as string ,
79+ methodParameters : row [ 4 ] as string ,
8780 } ) ,
8881 supportedKinds : [ "sql" , "xss" , "logging" ] ,
8982 } ,
@@ -94,26 +87,28 @@ export const extensiblePredicateDefinitions: Record<
9487 // string input, string output, string kind, string provenance
9588 // );
9689 generateMethodDefinition : ( method ) => [
97- method . externalApiUsage . packageName ,
98- method . externalApiUsage . typeName ,
90+ method . packageName ,
91+ method . typeName ,
9992 true ,
100- method . externalApiUsage . methodName ,
101- method . externalApiUsage . methodParameters ,
93+ method . methodName ,
94+ method . methodParameters ,
10295 "" ,
103- method . modeledMethod . input ,
104- method . modeledMethod . output ,
105- method . modeledMethod . kind ,
106- method . modeledMethod . provenance ,
96+ method . input ,
97+ method . output ,
98+ method . kind ,
99+ method . provenance ,
107100 ] ,
108101 readModeledMethod : ( row ) => ( {
102+ type : "summary" ,
103+ input : row [ 6 ] as string ,
104+ output : row [ 7 ] as string ,
105+ kind : row [ 8 ] as string ,
106+ provenance : row [ 9 ] as Provenance ,
109107 signature : readRowToMethod ( row ) ,
110- modeledMethod : {
111- type : "summary" ,
112- input : row [ 6 ] as string ,
113- output : row [ 7 ] as string ,
114- kind : row [ 8 ] as string ,
115- provenance : row [ 9 ] as Provenance ,
116- } ,
108+ packageName : row [ 0 ] as string ,
109+ typeName : row [ 1 ] as string ,
110+ methodName : row [ 3 ] as string ,
111+ methodParameters : row [ 4 ] as string ,
117112 } ) ,
118113 supportedKinds : [ "taint" , "value" ] ,
119114 } ,
@@ -123,22 +118,24 @@ export const extensiblePredicateDefinitions: Record<
123118 // string package, string type, string name, string signature, string kind, string provenance
124119 // );
125120 generateMethodDefinition : ( method ) => [
126- method . externalApiUsage . packageName ,
127- method . externalApiUsage . typeName ,
128- method . externalApiUsage . methodName ,
129- method . externalApiUsage . methodParameters ,
130- method . modeledMethod . kind ,
131- method . modeledMethod . provenance ,
121+ method . packageName ,
122+ method . typeName ,
123+ method . methodName ,
124+ method . methodParameters ,
125+ method . kind ,
126+ method . provenance ,
132127 ] ,
133128 readModeledMethod : ( row ) => ( {
129+ type : "neutral" ,
130+ input : "" ,
131+ output : "" ,
132+ kind : row [ 4 ] as string ,
133+ provenance : row [ 5 ] as Provenance ,
134134 signature : `${ row [ 0 ] } .${ row [ 1 ] } #${ row [ 2 ] } ${ row [ 3 ] } ` ,
135- modeledMethod : {
136- type : "neutral" ,
137- input : "" ,
138- output : "" ,
139- kind : row [ 4 ] as string ,
140- provenance : row [ 5 ] as Provenance ,
141- } ,
135+ packageName : row [ 0 ] as string ,
136+ typeName : row [ 1 ] as string ,
137+ methodName : row [ 2 ] as string ,
138+ methodParameters : row [ 3 ] as string ,
142139 } ) ,
143140 supportedKinds : [ "summary" , "source" , "sink" ] ,
144141 } ,
0 commit comments