@@ -71,7 +71,10 @@ public class TypesPython : NativeTypesBase { }
7171
7272 [ ExcludeMetadata ]
7373 [ Route ( "/types/js" ) ]
74- public class TypesCommonJs : NativeTypesBase { }
74+ public class TypesCommonJs : NativeTypesBase
75+ {
76+ public bool ? Cache { get ; set ; }
77+ }
7578
7679 public class NativeTypesBase
7780 {
@@ -239,15 +242,23 @@ public string GenerateTypeScript(NativeTypesBase request, MetadataTypesConfig ty
239242 [ AddHeader ( ContentType = MimeTypes . PlainText ) ]
240243 public object Any ( TypesCommonJs request )
241244 {
242- request . BaseUrl = GetBaseUrl ( request . BaseUrl ) ;
245+ string Generate ( )
246+ {
247+ request . BaseUrl = GetBaseUrl ( request . BaseUrl ) ;
243248
244- var typesConfig = NativeTypesMetadata . GetConfig ( request ) ;
245- typesConfig . MakePropertiesOptional = request . MakePropertiesOptional ?? false ;
246- typesConfig . ExportAsTypes = true ;
249+ var typesConfig = NativeTypesMetadata . GetConfig ( request ) ;
250+ typesConfig . MakePropertiesOptional = request . MakePropertiesOptional ?? false ;
251+ typesConfig . ExportAsTypes = true ;
247252
248- var metadataTypes = ResolveMetadataTypes ( typesConfig ) ;
249- var typeScript = new CommonJsGenerator ( typesConfig ) . GetCode ( metadataTypes , base . Request , NativeTypesMetadata ) ;
250- return typeScript ;
253+ var metadataTypes = ResolveMetadataTypes ( typesConfig ) ;
254+ var typeScript = new CommonJsGenerator ( typesConfig ) . GetCode ( metadataTypes , base . Request , NativeTypesMetadata ) ;
255+ return typeScript ;
256+ }
257+
258+ if ( request . Cache == true && ! HostContext . DebugMode )
259+ return Request . ToOptimizedResultUsingCache ( LocalCache , cacheKey : Request . AbsoluteUri , Generate ) ;
260+
261+ return Generate ( ) ;
251262 }
252263
253264 [ AddHeader ( ContentType = MimeTypes . PlainText ) ]
0 commit comments