}"
`;
+exports[`sfc ref transform usage /w typescript 1`] = `
+"import { ref as _ref, defineComponent as _defineComponent } from 'vue'
+
+export default _defineComponent({
+ setup(__props, { expose }) {
+ expose()
+
+ let msg = _ref<string | number>('foo');
+ let bar = _ref <string | number>('bar');
+
+return { msg, bar }
+}
+
+})"
+`;
+
exports[`sfc ref transform usage in normal <script> 1`] = `
"import { ref as _ref } from 'vue'
assertCode(content)
})
+ test('usage /w typescript', () => {
+ const { content } = compileWithRefTransform(`
+ <script setup lang="ts">
+ let msg = $ref<string | number>('foo');
+ let bar = $ref <string | number>('bar');
+ </script>
+ `)
+ expect(content).toMatch(`import { ref as _ref`)
+ expect(content).toMatch(`let msg = _ref<string | number>('foo')`)
+ expect(content).toMatch(`let bar = _ref <string | number>('bar')`)
+ assertCode(content)
+ })
+
test('usage with normal <script> + <script setup>', () => {
const { content, bindings } = compileWithRefTransform(`<script>
let a = $ref(0)
const TO_VAR_SYMBOL = '$'
const TO_REF_SYMBOL = '$$'
const shorthands = ['ref', 'computed', 'shallowRef']
-const transformCheckRE = /[^\w]\$(?:\$|ref|computed|shallowRef)?\(/
+const transformCheckRE = /[^\w]\$(?:\$|ref|computed|shallowRef)?\s*(\(|\<)/
export function shouldTransform(src: string): boolean {
return transformCheckRE.test(src)