let block: Block | undefined
- if (
- stateOrNode &&
- (stateOrNode instanceof Node ||
- isArray(stateOrNode) ||
- fragmentKey in stateOrNode ||
- componentKey in stateOrNode)
- ) {
+ // Skip the type check for production since this is only for Dev HMR
+ if (__DEV__) {
+ if (
+ stateOrNode &&
+ (stateOrNode instanceof Node ||
+ isArray(stateOrNode) ||
+ fragmentKey in stateOrNode ||
+ componentKey in stateOrNode)
+ ) {
+ block = stateOrNode
+ } else if (isObject(stateOrNode)) {
+ instance.setupState = proxyRefs(stateOrNode)
+ }
+
+ if (!block && component.render) {
+ pauseTracking()
+ block = callWithErrorHandling(
+ component.render,
+ instance,
+ VaporErrorCodes.RENDER_FUNCTION,
+ [
+ instance.setupState, // _ctx
+ shallowReadonly(props), // $props
+ instance.emit, // $emit
+ getAttrsProxy(instance), // $attrs
+ getSlotsProxy(instance), // $slots
+ ],
+ )
+ resetTracking()
+ }
+ } else {
block = stateOrNode
- } else if (isObject(stateOrNode)) {
- instance.setupState = proxyRefs(stateOrNode)
- }
- if (!block && component.render) {
- pauseTracking()
- block = callWithErrorHandling(
- component.render,
- instance,
- VaporErrorCodes.RENDER_FUNCTION,
- [
- instance.setupState, // _ctx
- __DEV__ ? shallowReadonly(props) : props, // $props
- instance.emit, // $emit
- __DEV__ ? getAttrsProxy(instance) : instance.attrs, // $attrs
- __DEV__ ? getSlotsProxy(instance) : instance.slots, // $slots
- ],
- )
- resetTracking()
}
if (!block) {