chore: regenerate types

fix-interleaving
paoloricciuti 1 week ago
parent f79f84acec
commit b63accbb03

@ -2584,7 +2584,7 @@ declare module 'svelte/reactivity/window' {
}
declare module 'svelte/renderer' {
export function createRenderer<T extends RendererNodes<object, object, object, object> = DefaultNodes, TFragment extends object = T extends DefaultNodes ? object : T["fragment"], TElement extends object = T extends DefaultNodes ? object : T["element"], TTextNode extends object = T extends DefaultNodes ? object : T["text"], TComment extends object = T extends DefaultNodes ? object : T["comment"]>(renderer: Renderer<TFragment, TElement, TTextNode, TComment>): Renderer<TFragment, TElement, TTextNode, TComment> & {
export function createRenderer<T extends RendererNodes<object, object, object, object> = DefaultNodes, TFragment extends object = T extends DefaultNodes ? object : T["fragment"], TElement extends object = T extends DefaultNodes ? object : T["element"], TTextNode extends object = T extends DefaultNodes ? object : T["text"], TComment extends object = T extends DefaultNodes ? object : T["comment"], TForeignNodes extends RendererNodes<any, any, any, any, any> | undefined = T extends DefaultNodes ? RendererNodes<any, any, any, any, any> : T["foreign"]>(renderer: Renderer<TFragment, TElement, TTextNode, TComment, TForeignNodes>): Renderer<TFragment, TElement, TTextNode, TComment, TForeignNodes> & {
render: <Props extends Record<string, any>, Exports extends Record<string, any>>(component: ComponentType<SvelteComponent<Props>> | Component<Props, Exports, any>, options: {} extends Props ? {
target: TFragment | TElement | TTextNode | TComment;
props?: Props;
@ -2603,6 +2603,13 @@ declare module 'svelte/renderer' {
TElement extends object = object,
TTextNode extends object = object,
TComment extends object = object,
TForeignNodes extends RendererNodes<any, any, any, any, any> | undefined = RendererNodes<
any,
any,
any,
any,
any
>,
TNode extends TFragment | TElement | TTextNode | TComment =
| TFragment
| TElement
@ -2683,27 +2690,89 @@ declare module 'svelte/renderer' {
/** Remove an event listener of the given type and handler from the target node. */
removeEventListener(target: TElement, type: string, handler: any, options?: any): void;
/** Operations used when this renderer is interleaved with DOM or another custom renderer. */
foreign?: {
/**
* Insert a node from this renderer into a different renderer's parent before the anchor.
* If anchor is null, insert at the end.
*/
insertIntoForeign(
parent: TForeignNodes extends undefined
? never
:
| DefinedRendererNodes<TForeignNodes>['element']
| DefinedRendererNodes<TForeignNodes>['fragment'],
element: TNode,
anchor:
| DefinedRendererNodes<TForeignNodes>['element']
| DefinedRendererNodes<TForeignNodes>['text']
| DefinedRendererNodes<TForeignNodes>['comment']
| null
): void;
/**
* Insert a node from a different renderer into this renderer's parent before the anchor.
* If anchor is null, insert at the end.
*/
insertForeign(
parent: TElement | TFragment,
element:
| DefinedRendererNodes<TForeignNodes>['element']
| DefinedRendererNodes<TForeignNodes>['fragment']
| DefinedRendererNodes<TForeignNodes>['text']
| DefinedRendererNodes<TForeignNodes>['comment'],
anchor:
| DefinedRendererNodes<TForeignNodes>['element']
| DefinedRendererNodes<TForeignNodes>['text']
| DefinedRendererNodes<TForeignNodes>['comment']
| null
): void;
/** Remove a node that was inserted across renderer boundaries. */
removeForeign(
node:
| DefinedRendererNodes<TForeignNodes>['element']
| DefinedRendererNodes<TForeignNodes>['fragment']
| DefinedRendererNodes<TForeignNodes>['text']
| DefinedRendererNodes<TForeignNodes>['comment']
): void;
/** Remove a node that was inserted across renderer boundaries. */
removeFromForeign(node: TNode): void;
};
};
type DefinedRendererNodes<TNodes extends RendererNodes<any, any, any, any, any> | undefined> =
TNodes extends RendererNodes<any, any, any, any, any>
? TNodes
: RendererNodes<any, any, any, any, any>;
type RendererNodes<
Fragment extends object,
Element extends object,
TextNode extends object,
Comment extends object
Comment extends object,
ForeignNode extends RendererNodes<any, any, any, any, any> = RendererNodes<
any,
any,
any,
any,
any
>
> = {
fragment: Fragment;
element: Element;
text: TextNode;
comment: Comment;
foreign?: ForeignNode;
};
type NodeType = keyof RendererNodes<any, any, any, any>;
type NodeType = Exclude<keyof RendererNodes<any, any, any, any, any>, 'foreign'>;
// to detect if the user is passing a type or not we create this type utils that adds a unique symbol
// that the user will never be able to pass in. We then create a a DefaultNodes type that is used as the default
// type for the T generic of `createRenderer`. This means we can "detect" if the user is passing a type manually by
// checking if the type extends DefaultNodes and using different default values
// for the other arguments (TFragment, TElement, TTextNode, TComment)
// for the other arguments (TFragment, TElement, TTextNode, TComment, TForeignNodes)
type UnsetObject = object & { readonly __unset: unique symbol };
type DefaultNodes = RendererNodes<UnsetObject, UnsetObject, UnsetObject, UnsetObject>;
/**

Loading…
Cancel
Save