11import {
22 EMPTY_ARR ,
33 NO ,
4- YES ,
54 camelize ,
65 hasOwn ,
76 isArray ,
@@ -98,9 +97,12 @@ export function getPropsProxyHandlers(
9897 : NO
9998 ) as ( key : string | symbol ) => key is string
10099 const isAttr = propsOptions
101- ? ( key : string ) =>
102- key !== '$' && ! isProp ( key ) && ! isEmitListener ( emitsOptions , key )
103- : YES
100+ ? ( key : string | symbol ) =>
101+ isString ( key ) &&
102+ key !== '$' &&
103+ ! isProp ( key ) &&
104+ ! isEmitListener ( emitsOptions , key )
105+ : ( key : string | symbol ) => isString ( key )
104106
105107 const getProp = ( instance : VaporComponentInstance , key : string | symbol ) => {
106108 // this enables direct watching of props and prevents `Invalid watch source` DEV warnings.
@@ -200,13 +202,13 @@ export function getPropsProxyHandlers(
200202 } )
201203 }
202204
203- const getAttr = ( target : RawProps , key : string ) => {
204- if ( ! isProp ( key ) && ! isEmitListener ( emitsOptions , key ) ) {
205+ const getAttr = ( target : RawProps , key : string | symbol ) => {
206+ if ( isString ( key ) && ! isProp ( key ) && ! isEmitListener ( emitsOptions , key ) ) {
205207 return getAttrFromRawProps ( target , key )
206208 }
207209 }
208210
209- const hasAttr = ( target : RawProps , key : string ) => {
211+ const hasAttr = ( target : RawProps , key : string | symbol ) => {
210212 if ( isAttr ( key ) ) {
211213 return hasAttrFromRawProps ( target , key )
212214 } else {
@@ -215,15 +217,15 @@ export function getPropsProxyHandlers(
215217 }
216218
217219 const getOnceAttr = withOnceCache ( ( instance , key ) =>
218- getAttr ( instance . rawProps , key as string ) ,
220+ getAttr ( instance . rawProps , key ) ,
219221 )
220222 const attrsHandlers = {
221- get : ( target , key : string ) =>
223+ get : ( target , key : string | symbol ) =>
222224 once ? getOnceAttr ( target , key ) : getAttr ( target . rawProps , key ) ,
223- has : ( target , key : string ) => hasAttr ( target . rawProps , key ) ,
225+ has : ( target , key : string | symbol ) => hasAttr ( target . rawProps , key ) ,
224226 ownKeys : target => getKeysFromRawProps ( target . rawProps ) . filter ( isAttr ) ,
225- getOwnPropertyDescriptor ( target , key : string ) {
226- if ( hasAttr ( target . rawProps , key ) ) {
227+ getOwnPropertyDescriptor ( target , key : string | symbol ) {
228+ if ( isString ( key ) && hasAttr ( target . rawProps , key ) ) {
227229 return {
228230 configurable : true ,
229231 enumerable : true ,
0 commit comments