@@ -130,7 +130,7 @@ const attributeMap = {
130130
131131const handleRefs = ( element : HTMLElement , vueComponent : IVueComponent , events : { [ eventName : string ] : Function } , props ) => {
132132 if ( events ) {
133- Object . keys ( events ) . forEach ( eventName => {
133+ for ( let eventName in events ) {
134134 if ( element && element . addEventListener && ! ( ( element as any ) . vueListeners && ( element as any ) . vueListeners [ eventName ] ) ) {
135135 element . addEventListener ( eventName , ( ...args : any [ ] ) => {
136136 const eventHandler = events [ eventName ] ;
@@ -140,7 +140,7 @@ const handleRefs = (element: HTMLElement, vueComponent: IVueComponent, events: {
140140 ( element as any ) . vueListeners = ( element as any ) . vueListeners || { } ;
141141 ( element as any ) . vueListeners [ eventName ] = true ;
142142 }
143- } ) ;
143+ }
144144 }
145145
146146 if ( props [ 'data-vue-ref' ] ) {
@@ -189,7 +189,7 @@ export class PropsProcessor {
189189 this . getInnerHTML ( args , props ) ;
190190 this . handleEvents ( resolvedComponent , args . on , vueComponentInstance , props )
191191 this . handleRef ( args . ref , vueComponentInstance , props ) ;
192-
192+
193193 return props ;
194194 }
195195
@@ -205,10 +205,16 @@ export class PropsProcessor {
205205 if ( args . staticClass ) {
206206 classObject [ args . staticClass ] = true ;
207207 }
208-
209- if ( Object . keys ( classObject ) . length ) {
210- props . className = classNames ( classObject ) ;
211- }
208+
209+ const classes = [ ] ;
210+
211+ for ( let key in classObject ) {
212+ if ( classObject [ key ] ) {
213+ classes . push ( key ) ;
214+ }
215+ }
216+
217+ props . className = classes . join ( ' ' ) ;
212218 }
213219
214220 private getStyle ( args , vueComponent , props ) {
@@ -232,12 +238,12 @@ export class PropsProcessor {
232238
233239 } else {
234240 if ( eventHandlers ) {
235- Object . keys ( eventHandlers ) . forEach ( eventName => {
241+ for ( let eventName in eventHandlers ) {
236242 const camelCasedEventName = `${ camelCase ( 'on-' + renameEvent ( eventName ) ) } ` ;
237243 props [ camelCasedEventName ] = ( ...eventArgs : any [ ] ) => {
238244 eventHandlers [ eventName ] . apply ( parentVueComponentInstance , eventArgs ) ;
239245 } ;
240- } ) ;
246+ }
241247 }
242248 }
243249 }
@@ -253,11 +259,7 @@ export class PropsProcessor {
253259
254260 private getPropsFromArgs ( args , props ) {
255261 if ( args . props ) {
256- const keys = Object . keys ( args . props ) ;
257- let length = keys . length ;
258-
259- while ( length -- ) {
260- let prop = keys [ length ] ;
262+ for ( let prop in args . props ) {
261263 props [ camelCase ( prop ) ] = args . props [ prop ] ;
262264 }
263265 }
@@ -271,12 +273,7 @@ export class PropsProcessor {
271273
272274 private convertAttrsToProps ( args , componentOrComponentName , resolvedComponent , props ) {
273275 if ( args . attrs ) {
274- const keys = Object . keys ( args . attrs ) ;
275- let length = keys . length ;
276-
277- while ( length -- ) {
278- let attr = keys [ length ] ;
279-
276+ for ( let attr in args . attrs ) {
280277 attr = renameAttribute ( componentOrComponentName , attr ) ;
281278
282279 const resolvedVueComponent = resolvedComponent . vueComponent ;
@@ -314,8 +311,8 @@ export class PropsProcessor {
314311 let length = children && children . length ;
315312
316313 if ( children && length && Array . isArray ( children ) ) {
317- while ( length -- ) {
318- let child = children [ length ] ;
314+ for ( let i = 0 , length = children . length ; i < length ; i ++ ) {
315+ let child = children [ i ] ;
319316
320317 if ( child && child . tag && child . tag . indexOf ( 'f7-' ) !== - 1 ) {
321318 child . props = { ...child . props , parentVueComponent : vueComponent } ;
0 commit comments