pull/10275/head
Dominic Gannaway 3 years ago
parent 337aa4e6a1
commit 3ff0d1f14b

@ -0,0 +1,5 @@
---
"svelte": patch
---
chore: improve $state static reference warning heuristics

@ -924,6 +924,7 @@ const common_visitors = {
((binding.kind === 'state' &&
(binding.reassigned ||
(binding.initial?.type === 'CallExpression' &&
binding.initial.arguments.length === 1 &&
binding.initial.arguments[0].type !== 'SpreadElement' &&
!should_proxy_or_freeze(binding.initial.arguments[0], context.state.scope)))) ||
binding.kind === 'frozen_state' ||

@ -136,8 +136,12 @@ export class SvelteComponentTyped<
* <Component on:close={handleCloseEvent} />
* ```
*/
export type ComponentEvents<Comp extends SvelteComponent> =
Comp extends SvelteComponent<any, infer Events> ? Events : never;
export type ComponentEvents<Comp extends SvelteComponent> = Comp extends SvelteComponent<
any,
infer Events
>
? Events
: never;
/**
* Convenience type to get the props the given component expects. Example:
@ -150,8 +154,9 @@ export type ComponentEvents<Comp extends SvelteComponent> =
* </script>
* ```
*/
export type ComponentProps<Comp extends SvelteComponent> =
Comp extends SvelteComponent<infer Props> ? Props : never;
export type ComponentProps<Comp extends SvelteComponent> = Comp extends SvelteComponent<infer Props>
? Props
: never;
/**
* Convenience type to get the type of a Svelte component. Useful for example in combination with

@ -13,5 +13,6 @@ export type Stores =
| Array<Readable<any>>;
/** One or more values from `Readable` stores. */
export type StoresValues<T> =
T extends Readable<infer U> ? U : { [K in keyof T]: T[K] extends Readable<infer U> ? U : never };
export type StoresValues<T> = T extends Readable<infer U>
? U
: { [K in keyof T]: T[K] extends Readable<infer U> ? U : never };

Loading…
Cancel
Save