File tree Expand file tree Collapse file tree 2 files changed +25
-25
lines changed Expand file tree Collapse file tree 2 files changed +25
-25
lines changed Original file line number Diff line number Diff line change @@ -221,9 +221,9 @@ function genText (text: ASTText | ASTExpression): string {
221221function genSlot ( el : ASTElement ) : string {
222222 const slotName = el . slotName || '"default"'
223223 const children = genChildren ( el )
224- return children
225- ? `_t( ${ slotName } ,${ children } )`
226- : `_t( ${ slotName } )`
224+ return `_t( ${ slotName } ${
225+ children ? `,${ children } ` : ''
226+ } )`
227227}
228228
229229// componentName is el.component, take it as argument to shun flow's pessimistic refinement
Original file line number Diff line number Diff line change @@ -230,30 +230,30 @@ export default class Watcher {
230230 * is collected as a "deep" dependency.
231231 */
232232const seenObjects = new Set ( )
233- function traverse ( val : any , seen ?: Set ) {
233+ function traverse ( val : any ) {
234+ seenObjects . clear ( )
235+ _traverse ( val , seenObjects )
236+ }
237+
238+ function _traverse ( val : any , seen : Set ) {
234239 let i , keys
235- if ( ! seen ) {
236- seen = seenObjects
237- seen . clear ( )
238- }
239240 const isA = Array . isArray ( val )
240- const isO = isObject ( val )
241- if ( ( isA || isO ) && Object . isExtensible ( val ) ) {
242- if ( val . __ob__ ) {
243- const depId = val . __ob__ . dep . id
244- if ( seen . has ( depId ) ) {
245- return
246- } else {
247- seen . add ( depId )
248- }
249- }
250- if ( isA ) {
251- i = val . length
252- while ( i -- ) traverse ( val [ i ] , seen )
253- } else if ( isO ) {
254- keys = Object . keys ( val )
255- i = keys . length
256- while ( i -- ) traverse ( val [ keys [ i ] ] , seen )
241+ if ( ( ! isA && ! isObject ( val ) ) || ! Object . isExtensible ( val ) ) {
242+ return
243+ }
244+ if ( val . __ob__ ) {
245+ const depId = val . __ob__ . dep . id
246+ if ( seen . has ( depId ) ) {
247+ return
257248 }
249+ seen . add ( depId )
250+ }
251+ if ( isA ) {
252+ i = val . length
253+ while ( i -- ) _traverse ( val [ i ] , seen )
254+ } else {
255+ keys = Object . keys ( val )
256+ i = keys . length
257+ while ( i -- ) _traverse ( val [ keys [ i ] ] , seen )
258258 }
259259}
You can’t perform that action at this time.
0 commit comments