chore(sfc-playground): ignore duplicate logs

This commit is contained in:
Evan You
2021-06-25 19:31:47 -04:00
parent 1675b6d723
commit 3ffc7be864
3 changed files with 43 additions and 2 deletions

View File

@@ -7,6 +7,12 @@ import { EmitFn, EmitsOptions } from './componentEmits'
import { ComponentObjectPropsOptions, ExtractPropTypes } from './componentProps'
import { warn } from './warning'
type InferDefaults<T> = {
[K in keyof T]?: NonNullable<T[K]> extends object
? () => NonNullable<T[K]>
: NonNullable<T[K]>
}
/**
* Compile-time-only helper used for declaring props inside `<script setup>`.
* This is stripped away in the compiled code and should never be actually
@@ -25,7 +31,10 @@ export function defineProps<
TypeProps = undefined,
PP extends ComponentObjectPropsOptions = ComponentObjectPropsOptions,
InferredProps = ExtractPropTypes<PP>
>(props?: PP): Readonly<TypeProps extends undefined ? InferredProps : TypeProps>
>(
props?: PP,
defaults?: InferDefaults<TypeProps>
): Readonly<TypeProps extends undefined ? InferredProps : TypeProps>
// implementation
export function defineProps() {
if (__DEV__) {

View File

@@ -123,6 +123,9 @@ function createSandbox() {
runtimeError.value = 'Uncaught (in promise): ' + error.message
},
on_console: (log: any) => {
if (log.duplicate) {
return
}
if (log.level === 'error') {
if (log.args[0] instanceof Error) {
runtimeError.value = log.args[0].message
@@ -156,7 +159,10 @@ function createSandbox() {
}
async function updatePreview() {
console.clear()
// @ts-ignore
if (import.meta.env.PROD) {
console.clear()
}
runtimeError.value = null
runtimeWarning.value = null
try {