@@ -14,52 +14,41 @@ import { sanitizeExtensionPackName } from "./extension-pack-name";
1414const ajv = new Ajv ( { allErrors : true } ) ;
1515const dataSchemaValidate = ajv . compile ( dataSchemaJson ) ;
1616
17- type ModeledExternalApiUsage = {
18- externalApiUsage : ExternalApiUsage ;
19- modeledMethod ?: ModeledMethod ;
20- } ;
21-
2217function createDataProperty (
23- methods : ModeledExternalApiUsage [ ] ,
18+ methods : ModeledMethod [ ] ,
2419 definition : ExtensiblePredicateDefinition ,
2520) {
2621 if ( methods . length === 0 ) {
2722 return " []" ;
2823 }
2924
30- const modeledMethods = methods . filter (
31- ( method ) => method . modeledMethod !== undefined ,
32- ) ;
33-
34- return `\n${ modeledMethods
25+ return `\n${ methods
3526 . map (
3627 ( method ) =>
3728 ` - ${ JSON . stringify (
38- definition . generateMethodDefinition ( method . modeledMethod ! ) ,
29+ definition . generateMethodDefinition ( method ) ,
3930 ) } `,
4031 )
4132 . join ( "\n" ) } `;
4233}
4334
4435export function createDataExtensionYaml (
4536 language : string ,
46- modeledUsages : ModeledExternalApiUsage [ ] ,
37+ modeledMethods : ModeledMethod [ ] ,
4738) {
4839 const methodsByType : Record <
4940 Exclude < ModeledMethodType , "none" > ,
50- ModeledExternalApiUsage [ ]
41+ ModeledMethod [ ]
5142 > = {
5243 source : [ ] ,
5344 sink : [ ] ,
5445 summary : [ ] ,
5546 neutral : [ ] ,
5647 } ;
5748
58- for ( const modeledUsage of modeledUsages ) {
59- const { modeledMethod } = modeledUsage ;
60-
49+ for ( const modeledMethod of modeledMethods ) {
6150 if ( modeledMethod ?. type && modeledMethod . type !== "none" ) {
62- methodsByType [ modeledMethod . type ] . push ( modeledUsage ) ;
51+ methodsByType [ modeledMethod . type ] . push ( modeledMethod ) ;
6352 }
6453 }
6554
@@ -83,32 +72,24 @@ export function createDataExtensionYamlsForApplicationMode(
8372 externalApiUsages : ExternalApiUsage [ ] ,
8473 modeledMethods : Record < string , ModeledMethod > ,
8574) : Record < string , string > {
86- const methodsByLibraryFilename : Record < string , ModeledExternalApiUsage [ ] > =
87- { } ;
75+ const methodsByLibraryFilename : Record < string , ModeledMethod [ ] > = { } ;
8876
8977 for ( const externalApiUsage of externalApiUsages ) {
9078 const modeledMethod = modeledMethods [ externalApiUsage . signature ] ;
79+ if ( ! modeledMethod ) {
80+ continue ;
81+ }
9182
9283 const filename = createFilenameForLibrary ( externalApiUsage . library ) ;
9384
9485 methodsByLibraryFilename [ filename ] =
9586 methodsByLibraryFilename [ filename ] || [ ] ;
96- methodsByLibraryFilename [ filename ] . push ( {
97- externalApiUsage,
98- modeledMethod,
99- } ) ;
87+ methodsByLibraryFilename [ filename ] . push ( modeledMethod ) ;
10088 }
10189
10290 const result : Record < string , string > = { } ;
10391
10492 for ( const [ filename , methods ] of Object . entries ( methodsByLibraryFilename ) ) {
105- const hasModeledMethods = methods . some (
106- ( method ) => method . modeledMethod !== undefined ,
107- ) ;
108- if ( ! hasModeledMethods ) {
109- continue ;
110- }
111-
11293 result [ filename ] = createDataExtensionYaml ( language , methods ) ;
11394 }
11495
@@ -129,10 +110,9 @@ export function createDataExtensionYamlsForFrameworkMode(
129110 . map ( ( part ) => sanitizeExtensionPackName ( part ) )
130111 . join ( "-" ) ;
131112
132- const methods = externalApiUsages . map ( ( externalApiUsage ) => ( {
133- externalApiUsage,
134- modeledMethod : modeledMethods [ externalApiUsage . signature ] ,
135- } ) ) ;
113+ const methods = externalApiUsages
114+ . map ( ( externalApiUsage ) => modeledMethods [ externalApiUsage . signature ] )
115+ . filter ( ( modeledMethod ) => modeledMethod !== undefined ) ;
136116
137117 return {
138118 [ `${ prefix } ${ libraryName } ${ suffix } .yml` ] : createDataExtensionYaml (
0 commit comments