@@ -632,6 +632,56 @@ const generateExtensionRawText = (
632
632
...expressionsReferenceTexts ,
633
633
] ;
634
634
} ) ,
635
+ { text : '' } ,
636
+ ...extension
637
+ . getExtensionEffectTypes ( )
638
+ . toJSArray ( )
639
+ . map (
640
+ /**
641
+ * @param {string } effectType
642
+ * @returns {RawText }
643
+ */
644
+ effectType => {
645
+ const effectMetadata = extension . getEffectMetadata ( effectType ) ;
646
+ const properties = effectMetadata . getProperties ( ) ;
647
+ const propertyNames = properties . keys ( ) . toJSArray ( ) ;
648
+
649
+ return {
650
+ text : [
651
+ `### Effect "${ effectMetadata . getFullName ( ) } "` ,
652
+ '' ,
653
+ `${ effectMetadata . getDescription ( ) . replace ( / \n / g, ' ' ) } ` ,
654
+ '' ,
655
+ ...[
656
+ effectMetadata . isMarkedAsUnique ( )
657
+ ? 'This effect can be added only once on a layer.'
658
+ : null ,
659
+ effectMetadata . isMarkedAsOnlyWorkingFor2D ( )
660
+ ? effectMetadata . isMarkedAsNotWorkingForObjects ( )
661
+ ? 'This effect is for 2D layers only.'
662
+ : 'This effect is for 2D layers or objects only.'
663
+ : null ,
664
+ effectMetadata . isMarkedAsOnlyWorkingFor3D ( )
665
+ ? 'This effect is for 3D layers only.'
666
+ : null ,
667
+ ] . filter ( Boolean ) ,
668
+ '' ,
669
+ `Properties of this effect are:` ,
670
+ '' ,
671
+ ...propertyNames . map ( propertyName => {
672
+ const propertyMetadata = properties . get ( propertyName ) ;
673
+ return [
674
+ propertyMetadata . getDescription ( )
675
+ ? `- **${ propertyMetadata . getLabel ( ) } **: ${ propertyMetadata . getDescription ( ) } .`
676
+ : `- **${ propertyMetadata . getLabel ( ) } **.` ,
677
+ `Default value is \`${ propertyMetadata . getValue ( ) } \`. For events, write: \`"${ propertyName } "\`.` ,
678
+ ] . join ( ' ' ) ;
679
+ } ) ,
680
+ '' ,
681
+ ] . join ( `\n` ) ,
682
+ } ;
683
+ }
684
+ ) ,
635
685
generateExtensionFooterText ( { extension } ) ,
636
686
] . filter ( Boolean ) ;
637
687
} ;
0 commit comments