server-renderer.d.ts 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /// <reference types="node" />
  2. import { VNode, ComponentInternalInstance, App, Slots, Component } from 'vue';
  3. import { Readable, Writable } from 'stream';
  4. import { ComponentPublicInstance, Directive } from '@vue/runtime-core';
  5. export { includeBooleanAttr as ssrIncludeBooleanAttr } from '@vue/shared';
  6. type SSRBuffer = SSRBufferItem[] & {
  7. hasAsync?: boolean;
  8. };
  9. type SSRBufferItem = string | SSRBuffer | Promise<SSRBuffer>;
  10. type PushFn = (item: SSRBufferItem) => void;
  11. type Props = Record<string, unknown>;
  12. export type SSRContext = {
  13. [key: string]: any;
  14. teleports?: Record<string, string>;
  15. /* removed internal: __teleportBuffers */
  16. /* removed internal: __watcherHandles */
  17. };
  18. export declare function renderVNode(push: PushFn, vnode: VNode, parentComponent: ComponentInternalInstance, slotScopeId?: string): void;
  19. export declare function renderToString(input: App | VNode, context?: SSRContext): Promise<string>;
  20. export interface SimpleReadable {
  21. push(chunk: string | null): void;
  22. destroy(err: any): void;
  23. }
  24. export declare function renderToSimpleStream<T extends SimpleReadable>(input: App | VNode, context: SSRContext, stream: T): T;
  25. /**
  26. * @deprecated
  27. */
  28. export declare function renderToStream(input: App | VNode, context?: SSRContext): Readable;
  29. export declare function renderToNodeStream(input: App | VNode, context?: SSRContext): Readable;
  30. export declare function pipeToNodeWritable(input: App | VNode, context: SSRContext | undefined, writable: Writable): void;
  31. export declare function renderToWebStream(input: App | VNode, context?: SSRContext): ReadableStream;
  32. export declare function pipeToWebWritable(input: App | VNode, context: SSRContext | undefined, writable: WritableStream): void;
  33. type SSRSlots = Record<string, SSRSlot>;
  34. type SSRSlot = (props: Props, push: PushFn, parentComponent: ComponentInternalInstance | null, scopeId: string | null) => void;
  35. export declare function ssrRenderSlot(slots: Slots | SSRSlots, slotName: string, slotProps: Props, fallbackRenderFn: (() => void) | null, push: PushFn, parentComponent: ComponentInternalInstance, slotScopeId?: string): void;
  36. export declare function ssrRenderSlotInner(slots: Slots | SSRSlots, slotName: string, slotProps: Props, fallbackRenderFn: (() => void) | null, push: PushFn, parentComponent: ComponentInternalInstance, slotScopeId?: string, transition?: boolean): void;
  37. export declare function ssrRenderComponent(comp: Component, props?: Props | null, children?: Slots | SSRSlots | null, parentComponent?: ComponentInternalInstance | null, slotScopeId?: string): SSRBuffer | Promise<SSRBuffer>;
  38. export declare function ssrRenderTeleport(parentPush: PushFn, contentRenderFn: (push: PushFn) => void, target: string, disabled: boolean, parentComponent: ComponentInternalInstance): void;
  39. export declare function ssrRenderAttrs(props: Record<string, unknown>, tag?: string): string;
  40. export declare function ssrRenderDynamicAttr(key: string, value: unknown, tag?: string): string;
  41. export declare function ssrRenderAttr(key: string, value: unknown): string;
  42. export declare function ssrRenderClass(raw: unknown): string;
  43. export declare function ssrRenderStyle(raw: unknown): string;
  44. export declare function ssrInterpolate(value: unknown): string;
  45. export declare function ssrRenderList(source: unknown, renderItem: (value: unknown, key: string | number, index?: number) => void): void;
  46. export declare function ssrRenderSuspense(push: PushFn, { default: renderContent }: Record<string, (() => void) | undefined>): Promise<void>;
  47. export declare function ssrGetDirectiveProps(instance: ComponentPublicInstance, dir: Directive, value?: any, arg?: string, modifiers?: Record<string, boolean>): Record<string, any>;
  48. export declare const ssrLooseEqual: (a: unknown, b: unknown) => boolean;
  49. export declare function ssrLooseContain(arr: unknown[], value: unknown): boolean;
  50. export declare function ssrRenderDynamicModel(type: unknown, model: unknown, value: unknown): string;
  51. export declare function ssrGetDynamicModelProps(existingProps: any, model: unknown): {
  52. checked: boolean;
  53. value?: undefined;
  54. } | {
  55. value: unknown;
  56. checked?: undefined;
  57. } | null;
  58. export { renderVNode as ssrRenderVNode };