@@ -18,36 +18,31 @@ export class ExampleData {
18
18
componentName = 'ButtonDemo' ;
19
19
20
20
constructor ( example : string ) {
21
- if ( example && EXAMPLE_COMPONENTS [ example ] ) {
22
- this . examplePath = `/assets/stackblitz/examples/${ example } /` ;
23
-
24
- // TODO(tinayuangao): Do not hard-code extensions
25
- this . exampleFiles = [ 'html' , 'ts' , 'css' ]
26
- . map ( ( extension ) => `${ example } -example.${ extension } ` ) ;
27
- let exampleFilesSet = new Set (
28
- [ 'html' , 'ts' , 'css' ] . map ( ( extension ) => `${ example } -example.${ extension } ` ) ) ;
29
- if ( EXAMPLE_COMPONENTS [ example ] . additionalFiles ) {
30
- for ( let file of EXAMPLE_COMPONENTS [ example ] . additionalFiles ) {
31
- exampleFilesSet . add ( file ) ;
32
- }
33
- }
34
- this . exampleFiles = Array . from ( exampleFilesSet . values ( ) ) ;
35
-
36
- this . selectorName = this . indexFilename = `${ example } -example` ;
21
+ if ( ! example || ! EXAMPLE_COMPONENTS . hasOwnProperty ( example ) ) {
22
+ return ;
23
+ }
37
24
38
- let exampleName = example . replace ( / (?: ^ \w | \b \w ) / g, letter => letter . toUpperCase ( ) ) ;
25
+ const exampleConfig = EXAMPLE_COMPONENTS [ example ] ;
26
+ const exampleFilesSet = new Set ( [ 'html' , 'ts' , 'css' ] . map ( extension => {
27
+ return `${ example } -example.${ extension } ` ;
28
+ } ) ) ;
39
29
40
- if ( EXAMPLE_COMPONENTS [ example ] . title ) {
41
- this . description = EXAMPLE_COMPONENTS [ example ] . title ;
42
- } else {
43
- this . description = exampleName . replace ( / [ \- ] + / g , ' ' ) + ' Example' ;
44
- }
30
+ // TODO(tinayuangao): Do not hard-code extensions
31
+ this . exampleFiles = [ 'html' , 'ts' , 'css' ] . map ( extension => ` ${ example } -example. ${ extension } ` ) ;
32
+ this . examplePath = `/assets/stackblitz/examples/ ${ example } /` ;
33
+ this . exampleFiles = Array . from ( exampleFilesSet . values ( ) ) ;
34
+ this . selectorName = this . indexFilename = ` ${ example } -example` ;
45
35
46
- if ( EXAMPLE_COMPONENTS [ example ] . selectorName ) {
47
- this . componentName = EXAMPLE_COMPONENTS [ example ] . selectorName ;
48
- } else {
49
- this . componentName = exampleName . replace ( / [ \- ] + / g, '' ) + 'Example' ;
36
+ if ( exampleConfig . additionalFiles ) {
37
+ for ( let file of exampleConfig . additionalFiles ) {
38
+ exampleFilesSet . add ( file ) ;
50
39
}
51
40
}
41
+
42
+ const exampleName = example . replace ( / (?: ^ \w | \b \w ) / g, letter => letter . toUpperCase ( ) ) ;
43
+
44
+ this . description = exampleConfig . title || exampleName . replace ( / [ \- ] + / g, ' ' ) + ' Example' ;
45
+ this . componentName = exampleConfig . selectorName ||
46
+ exampleName . replace ( / [ \- ] + / g, '' ) + 'Example' ;
52
47
}
53
48
}
0 commit comments