Skip to content

Commit

Permalink
feat(sfc/types): make <script setup> helper types available globally
Browse files Browse the repository at this point in the history
  • Loading branch information
yyx990803 committed Jun 27, 2021
1 parent 4c5844a commit 004bd18
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions packages/runtime-core/src/apiSetupHelpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@ import {
} from './componentProps'
import { warn } from './warning'

/**
* The following helpers are compiler macros that are only usable inside
* `<script setup>`. They are essentially part of the `<script setup>` API and
* will be frequently used. Although they can be explicitly imported, they can
* actually be used directly inside `<script setup>` blocks. Their types are
* therefore also made globally available to ensure proper type inference.
*/
type _defineProps = typeof defineProps
type _defineEmits = typeof defineEmits
type _defineExpose = typeof defineExpose
type _withDefaults = typeof withDefaults

declare global {
const defineProps: _defineProps
const defineEmits: _defineEmits
const defineExpose: _defineExpose
const withDefaults: _withDefaults
}

// dev only
const warnRuntimeUsage = (method: string) =>
warn(
Expand Down

0 comments on commit 004bd18

Please sign in to comment.