chore: regenerate types

fix-interleaving
paoloricciuti 3 months ago committed by GitHub
parent 6d75398b47
commit 8f9b2eb6da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -2734,12 +2734,19 @@ declare module 'svelte/reactivity/window' {
} }
declare module 'svelte/renderer' { 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"], R extends Renderer<TFragment, TElement, TTextNode, TComment> = Renderer<TFragment, TElement, TTextNode, TComment>>(renderer: R): R; 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"], R extends Renderer<TFragment, TElement, TTextNode, TComment, TForeignNodes> = Renderer<TFragment, TElement, TTextNode, TComment>>(renderer: R): R;
type Renderer< type Renderer<
TFragment extends object = object, TFragment extends object = object,
TElement extends object = object, TElement extends object = object,
TTextNode extends object = object, TTextNode extends object = object,
TComment 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 = TNode extends TFragment | TElement | TTextNode | TComment =
| TFragment | TFragment
| TElement | TElement
@ -2820,27 +2827,89 @@ declare module 'svelte/renderer' {
/** Remove an event listener of the given type and handler from the target node. */ /** Remove an event listener of the given type and handler from the target node. */
removeEventListener(target: TElement, type: string, handler: any, options?: any): void; 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< type RendererNodes<
Fragment extends object, Fragment extends object,
Element extends object, Element extends object,
TextNode 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; fragment: Fragment;
element: Element; element: Element;
text: TextNode; text: TextNode;
comment: Comment; 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 // 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 // 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 // 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 // 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 UnsetObject = object & { readonly __unset: unique symbol };
type DefaultNodes = RendererNodes<UnsetObject, UnsetObject, UnsetObject, UnsetObject>; type DefaultNodes = RendererNodes<UnsetObject, UnsetObject, UnsetObject, UnsetObject>;

Loading…
Cancel
Save