This commit is contained in:
2024-11-28 23:08:17 +01:00
parent 8895fde030
commit 0dda8e760c
16116 changed files with 2866428 additions and 71 deletions

View File

@@ -0,0 +1,31 @@
import { VTUVNodeTypeTransformer } from './util';
import { Teleport, KeepAlive, VNodeTypes, ConcreteComponent, Component } from 'vue';
export type CustomCreateStub = (params: {
name: string;
component: ConcreteComponent;
registerStub: (config: {
source: Component;
stub: Component;
}) => void;
}) => ConcreteComponent;
interface StubOptions {
name: string;
type?: VNodeTypes | typeof Teleport | typeof KeepAlive;
renderStubDefaultSlot?: boolean;
}
export declare const createStub: ({ name, type, renderStubDefaultSlot }: StubOptions) => import("vue").DefineComponent<any, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<any>, {} | {
[x: string]: any;
}, {}>;
export interface CreateStubComponentsTransformerConfig {
rootComponents: {
component?: Component;
functional?: Component;
};
stubs?: Record<string, Component | boolean>;
shallow?: boolean;
renderStubDefaultSlot: boolean;
}
export declare function createStubComponentsTransformer({ rootComponents, stubs, shallow, renderStubDefaultSlot }: CreateStubComponentsTransformerConfig): VTUVNodeTypeTransformer;
export {};

View File

@@ -0,0 +1,7 @@
import { Directive } from 'vue';
import type { VTUVNodeTypeTransformer } from './util';
interface CreateDirectivesTransformerConfig {
directives: Record<string, Directive | true>;
}
export declare function createStubDirectivesTransformer({ directives }: CreateDirectivesTransformerConfig): VTUVNodeTypeTransformer;
export {};

View File

@@ -0,0 +1,21 @@
import { Component, ConcreteComponent, transformVNodeArgs } from 'vue';
type VNodeArgsTransformerFn = NonNullable<Parameters<typeof transformVNodeArgs>[0]>;
type TransformVNodeArgs = Parameters<VNodeArgsTransformerFn>;
type VNodeTransformerArgsType = TransformVNodeArgs[0];
type InstanceArgsType = TransformVNodeArgs[1];
type VNodeTransformerInputType = VNodeTransformerArgsType[0];
type ExtractComponentTypes<T> = T extends ConcreteComponent ? T : never;
type VNodeTransformerInputComponentType = ExtractComponentTypes<VNodeTransformerInputType>;
export type VTUVNodeTypeTransformer = (inputType: VNodeTransformerInputComponentType, instance: InstanceArgsType) => VNodeTransformerInputComponentType;
export declare const isTeleport: (type: any) => boolean;
export declare const isKeepAlive: (type: any) => boolean;
export interface RootComponents {
component?: Component;
functional?: Component;
}
export declare const isRootComponent: (rootComponents: RootComponents, type: VNodeTransformerInputComponentType, instance: InstanceArgsType) => boolean;
export declare const createVNodeTransformer: ({ rootComponents, transformers }: {
rootComponents: RootComponents;
transformers: VTUVNodeTypeTransformer[];
}) => VNodeArgsTransformerFn;
export {};