Comparing version
@@ -49,4 +49,15 @@ import "./tags-html"; | ||
/** The result of calling `template.mount`. */ | ||
export type MountedTemplate<Input = unknown, Return = unknown> = { | ||
value: Return; | ||
export type MountedTemplate< | ||
Input = unknown, | ||
Return extends void | { | ||
value: unknown; | ||
valueChange?(next: unknown): void; | ||
} = void, | ||
> = { | ||
get value(): Return extends { value: infer Value } ? Value : void; | ||
set value( | ||
next: Return extends { valueChange?(next: infer Next): any } | ||
? Next | ||
: never, | ||
): void; | ||
update(input: Marko.TemplateInput<Input>): void; | ||
@@ -78,3 +89,9 @@ destroy(): void; | ||
/** The top level api for a Marko Template. */ | ||
export abstract class Template<Input = unknown, Return = unknown> { | ||
export abstract class Template< | ||
Input = unknown, | ||
Return extends void | { | ||
value: unknown; | ||
valueChange?(next: unknown): void; | ||
} = void, | ||
> { | ||
/** | ||
@@ -81,0 +98,0 @@ * The folowing types are processed up by the @marko/language-tools |
{ | ||
"name": "marko", | ||
"version": "6.0.37", | ||
"version": "6.0.38", | ||
"description": "Optimized runtime for Marko templates.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
1328420
0.03%37430
0.05%