| 114 | bailType(el) |
| 115 | |
| 116 | function withSymbol() { |
| 117 | const customSymbol = Symbol() |
| 118 | const obj = { |
| 119 | [Symbol.asyncIterator]: ref(1), |
| 120 | [Symbol.hasInstance]: { a: ref('a') }, |
| 121 | [Symbol.isConcatSpreadable]: { b: ref(true) }, |
| 122 | [Symbol.iterator]: [ref(1)], |
| 123 | [Symbol.match]: new Set<Ref<number>>(), |
| 124 | [Symbol.matchAll]: new Map<number, Ref<string>>(), |
| 125 | [Symbol.replace]: { arr: [ref('a')] }, |
| 126 | [Symbol.search]: { set: new Set<Ref<number>>() }, |
| 127 | [Symbol.species]: { map: new Map<number, Ref<string>>() }, |
| 128 | [Symbol.split]: new WeakSet<Ref<boolean>>(), |
| 129 | [Symbol.toPrimitive]: new WeakMap<Ref<boolean>, string>(), |
| 130 | [Symbol.toStringTag]: { weakSet: new WeakSet<Ref<boolean>>() }, |
| 131 | [Symbol.unscopables]: { weakMap: new WeakMap<Ref<boolean>, string>() }, |
| 132 | [customSymbol]: { arr: [ref(1)] }, |
| 133 | } |
| 134 | |
| 135 | const objRef = ref(obj) |
| 136 | |
| 137 | expectType<Ref<number>>(objRef.value[Symbol.asyncIterator]) |
| 138 | expectType<{ a: Ref<string> }>(objRef.value[Symbol.hasInstance]) |
| 139 | expectType<{ b: Ref<boolean> }>(objRef.value[Symbol.isConcatSpreadable]) |
| 140 | expectType<Ref<number>[]>(objRef.value[Symbol.iterator]) |
| 141 | expectType<Set<Ref<number>>>(objRef.value[Symbol.match]) |
| 142 | expectType<Map<number, Ref<string>>>(objRef.value[Symbol.matchAll]) |
| 143 | expectType<{ arr: Ref<string>[] }>(objRef.value[Symbol.replace]) |
| 144 | expectType<{ set: Set<Ref<number>> }>(objRef.value[Symbol.search]) |
| 145 | expectType<{ map: Map<number, Ref<string>> }>(objRef.value[Symbol.species]) |
| 146 | expectType<WeakSet<Ref<boolean>>>(objRef.value[Symbol.split]) |
| 147 | expectType<WeakMap<Ref<boolean>, string>>(objRef.value[Symbol.toPrimitive]) |
| 148 | expectType<{ weakSet: WeakSet<Ref<boolean>> }>( |
| 149 | objRef.value[Symbol.toStringTag], |
| 150 | ) |
| 151 | expectType<{ weakMap: WeakMap<Ref<boolean>, string> }>( |
| 152 | objRef.value[Symbol.unscopables], |
| 153 | ) |
| 154 | expectType<{ arr: Ref<number>[] }>(objRef.value[customSymbol]) |
| 155 | } |
| 156 | |
| 157 | withSymbol() |
| 158 | |