11import Promise = require( 'promise' ) ;
22import fs = require( 'fs' ) ;
3- import { IModifier , IAsset } from './modifier'
3+ import { IModifier , IAsset } from './modifier' ;
44
5- export var ApexVariablesModifier : IModifier < string , string > = ( asset : IAsset < string > , compilation : any , controllers : { [ controller : string ] : any } ) => {
6- return new Promise < IAsset < string > > ( ( resolve , reject ) => {
7- if ( controllers ) {
8- var assetData = asset . data ;
9- var reg = / < a p e x : p a g e .* c o n t r o l l e r = " ( [ a - z A - Z 0 - 9 ] * ) " .* > / g
10- var result = reg . exec ( asset . data )
11-
12-
13- if ( result ) {
14- var controller = controllers [ result [ 1 ] ] ;
15- if ( controller ) {
16- Object . keys ( controller ) . forEach ( variable => {
17- reg = new RegExp ( `{!.*?${ variable } .*?}` , 'g' ) ;
5+ export const ApexVariablesModifier : IModifier < string , string > = (
6+ asset : IAsset < string > ,
7+ compilation : any ,
8+ controllers : { [ controller : string ] : any }
9+ ) => {
10+ return new Promise < IAsset < string > > ( ( resolve , reject ) => {
11+ if ( controllers ) {
12+ let reg = / < a p e x : p a g e .* c o n t r o l l e r = " ( [ a - z A - Z 0 - 9 ] * ) " .* > / g;
13+ let result = reg . exec ( asset . data ) ;
1814
19- while ( ( result = reg . exec ( asset . data ) ) !== null ) {
20- var data = controller [ variable ] ;
21- var value ;
15+ if ( result ) {
16+ const controller = controllers [ result [ 1 ] ] ;
17+ if ( controller ) {
18+ Object . keys ( controller ) . forEach ( variable => {
19+ reg = new RegExp ( `{!.*?${ variable } .*?}` , 'g' ) ;
2220
23- if ( typeof data === 'object' && data . file ) {
24- try {
25- value = fs . readFileSync ( data . file , 'UTF-8' ) ;
26- } catch ( ex ) {
27- console . log ( ex ) ;
28- }
21+ while ( ( result = reg . exec ( asset . data ) ) !== null ) {
22+ const data = controller [ variable ] ;
23+ let value ;
2924
30- } else if ( typeof data === 'string' ) {
31- value = data ;
32- }
33-
34- if ( value ) {
35- assetData = assetData . replace ( result [ 0 ] , value ) ;
36- }
37- }
38- } ) ;
25+ if ( typeof data === 'object' && data . file ) {
26+ try {
27+ value = fs . readFileSync ( data . file , 'UTF-8' ) ;
28+ } catch ( ex ) {
29+ console . log ( ex ) ;
3930 }
31+ } else if ( typeof data === 'string' ) {
32+ value = data ;
33+ }
34+
35+ if ( value ) {
36+ asset . data = asset . data . replace ( result [ 0 ] , value ) ;
37+ }
4038 }
39+ } ) ;
4140 }
41+ }
42+ }
4243
43- resolve ( {
44- ...asset ,
45- data : assetData
46- } ) ;
47- } )
48- }
44+ resolve ( asset ) ;
45+ } ) ;
46+ } ;
0 commit comments