fix(compile-sfc): add symbol judge in prop type checks. (#4594)
fix #4592
This commit is contained in:
		
							parent
							
								
									06c5bf53ab
								
							
						
					
					
						commit
						fcd5422b4a
					
				@ -971,6 +971,7 @@ export default /*#__PURE__*/_defineComponent({
 | 
			
		||||
    interface: { type: Object, required: true },
 | 
			
		||||
    alias: { type: Array, required: true },
 | 
			
		||||
    method: { type: Function, required: true },
 | 
			
		||||
    symbol: { type: Symbol, required: true },
 | 
			
		||||
    union: { type: [String, Number], required: true },
 | 
			
		||||
    literalUnion: { type: String, required: true },
 | 
			
		||||
    literalUnionNumber: { type: Number, required: true },
 | 
			
		||||
 | 
			
		||||
@ -706,6 +706,7 @@ const emit = defineEmits(['a', 'b'])
 | 
			
		||||
        interface: Test
 | 
			
		||||
        alias: Alias
 | 
			
		||||
        method(): void
 | 
			
		||||
        symbol: symbol
 | 
			
		||||
 | 
			
		||||
        union: string | number
 | 
			
		||||
        literalUnion: 'foo' | 'bar'
 | 
			
		||||
@ -735,6 +736,7 @@ const emit = defineEmits(['a', 'b'])
 | 
			
		||||
      expect(content).toMatch(`interface: { type: Object, required: true }`)
 | 
			
		||||
      expect(content).toMatch(`alias: { type: Array, required: true }`)
 | 
			
		||||
      expect(content).toMatch(`method: { type: Function, required: true }`)
 | 
			
		||||
      expect(content).toMatch(`symbol: { type: Symbol, required: true }`)
 | 
			
		||||
      expect(content).toMatch(
 | 
			
		||||
        `union: { type: [String, Number], required: true }`
 | 
			
		||||
      )
 | 
			
		||||
@ -767,6 +769,7 @@ const emit = defineEmits(['a', 'b'])
 | 
			
		||||
        interface: BindingTypes.PROPS,
 | 
			
		||||
        alias: BindingTypes.PROPS,
 | 
			
		||||
        method: BindingTypes.PROPS,
 | 
			
		||||
        symbol: BindingTypes.PROPS,
 | 
			
		||||
        union: BindingTypes.PROPS,
 | 
			
		||||
        literalUnion: BindingTypes.PROPS,
 | 
			
		||||
        literalUnionNumber: BindingTypes.PROPS,
 | 
			
		||||
 | 
			
		||||
@ -1541,6 +1541,9 @@ function inferRuntimeType(
 | 
			
		||||
    case 'TSIntersectionType':
 | 
			
		||||
      return ['Object']
 | 
			
		||||
 | 
			
		||||
    case 'TSSymbolKeyword':
 | 
			
		||||
      return ['Symbol']
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      return [`null`] // no runtime check
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user