/
index.d.ts
53 lines (43 loc) · 1.59 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import Vue, { VNode, VNodeDirective } from 'vue'
import { Readable } from 'stream'
export declare function createRenderer(options?: RendererOptions): Renderer
export declare function createBundleRenderer(
bundle: string | object,
options?: BundleRendererOptions
): BundleRenderer
type RenderCallback = (err: Error | null, html: string) => void
interface Renderer {
renderToString(vm: Vue, callback: RenderCallback): void
renderToString(vm: Vue, context: object, callback: RenderCallback): void
renderToString(vm: Vue): Promise<string>
renderToString(vm: Vue, context: object): Promise<string>
renderToStream(vm: Vue, context?: object): Readable
}
interface BundleRenderer {
renderToString(callback: RenderCallback): void
renderToString(context: object, callback: RenderCallback): void
renderToString(): Promise<string>
renderToString(context: object): Promise<string>
renderToStream(context?: object): Readable
}
interface RendererOptions {
template?: string
inject?: boolean
shouldPreload?: (file: string, type: string) => boolean
shouldPrefetch?: (file: string, type: string) => boolean
cache?: RenderCache
directives?: {
[key: string]: (vnode: VNode, dir: VNodeDirective) => void
}
}
interface BundleRendererOptions extends RendererOptions {
clientManifest?: object
serializer?: (state: object) => string
runInNewContext?: boolean | 'once'
basedir?: string
}
interface RenderCache {
get: (key: string, cb?: (res: string) => void) => string | void
set: (key: string, val: string) => void
has?: (key: string, cb?: (hit: boolean) => void) => boolean | void
}