fix(compiler-sfc): support const enum
This commit is contained in:
parent
b771fdbef9
commit
93a950d60d
@ -540,6 +540,21 @@ return { a, b, c, d, x }
|
|||||||
}"
|
}"
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`SFC compile <script setup> with TypeScript const Enum 1`] = `
|
||||||
|
"import { defineComponent as _defineComponent } from 'vue'
|
||||||
|
const enum Foo { A = 123 }
|
||||||
|
|
||||||
|
export default _defineComponent({
|
||||||
|
setup(__props, { expose }) {
|
||||||
|
expose()
|
||||||
|
|
||||||
|
|
||||||
|
return { Foo }
|
||||||
|
}
|
||||||
|
|
||||||
|
})"
|
||||||
|
`;
|
||||||
|
|
||||||
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (exported interface) 1`] = `
|
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (exported interface) 1`] = `
|
||||||
"import { defineComponent as _defineComponent } from 'vue'
|
"import { defineComponent as _defineComponent } from 'vue'
|
||||||
export interface Emits { (e: 'foo' | 'bar'): void }
|
export interface Emits { (e: 'foo' | 'bar'): void }
|
||||||
|
@ -794,6 +794,18 @@ const emit = defineEmits(['a', 'b'])
|
|||||||
Foo: BindingTypes.SETUP_CONST
|
Foo: BindingTypes.SETUP_CONST
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('const Enum', () => {
|
||||||
|
const { content, bindings } = compile(
|
||||||
|
`<script setup lang="ts">
|
||||||
|
const enum Foo { A = 123 }
|
||||||
|
</script>`
|
||||||
|
)
|
||||||
|
assertCode(content)
|
||||||
|
expect(bindings).toStrictEqual({
|
||||||
|
Foo: BindingTypes.SETUP_CONST
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('async/await detection', () => {
|
describe('async/await detection', () => {
|
||||||
|
@ -1008,7 +1008,7 @@ export function compileScript(
|
|||||||
|
|
||||||
if (isTS) {
|
if (isTS) {
|
||||||
// runtime enum
|
// runtime enum
|
||||||
if (node.type === 'TSEnumDeclaration' && !node.const) {
|
if (node.type === 'TSEnumDeclaration') {
|
||||||
registerBinding(setupBindings, node.id, BindingTypes.SETUP_CONST)
|
registerBinding(setupBindings, node.id, BindingTypes.SETUP_CONST)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user