svelte-ast-print
Version:
Serialize Svelte AST nodes into stringified syntax. A.k.a parse in reverse.
125 lines • 4.41 kB
TypeScript
/**
* Printers related to Svelte **element**-like related AST nodes only.
* @module svelte-ast-print/template/element-like
*/
import type { AST as SV } from "svelte/compiler";
import type { PrintOptions } from "../_internal/option.ts";
import type { Result } from "../_internal/shared.ts";
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printElementLike(n: SV.ElementLike, opts?: Partial<PrintOptions>): Result<SV.ElementLike>;
/**
* @see {@link https://svelte.dev/docs/svelte-components}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printComponent(n: SV.Component, opts?: Partial<PrintOptions>): Result<SV.Component>;
/**
* @see {@link https://svelte.dev/docs/svelte-components}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printRegularElement(n: SV.RegularElement, opts?: Partial<PrintOptions>): Result<SV.RegularElement>;
/**
* @deprecated Will be removed from Svelte `v6` {@link https://svelte.dev/docs/svelte/legacy-slot}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSlotElement(n: SV.SlotElement, opts?: Partial<PrintOptions>): Result<SV.SlotElement>;
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-body}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteBody(n: SV.SvelteBody, opts?: Partial<PrintOptions>): Result<SV.SvelteBody>;
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-boundary}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteBoundary(n: SV.SvelteBoundary, opts?: Partial<PrintOptions>): Result<SV.SvelteBoundary>;
/**
* @deprecated Will be removed from Svelte `v6` {@link https://svelte.dev/docs/svelte/legacy-svelte-component}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteComponent(n: SV.SvelteComponent, opts?: Partial<PrintOptions>): Result<SV.SvelteComponent>;
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-document}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteDocument(n: SV.SvelteDocument, opts?: Partial<PrintOptions>): Result<SV.SvelteDocument>;
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-element}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteElement(n: SV.SvelteElement, opts?: Partial<PrintOptions>): Result<SV.SvelteElement>;
/**
* @deprecated Will be removed from Svelte `v6` {@link https://svelte.dev/docs/svelte/legacy-svelte-fragment}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteFragment(n: SV.SvelteFragment, opts?: Partial<PrintOptions>): Result<SV.SvelteFragment>;
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-head}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteHead(n: SV.SvelteHead, opts?: Partial<PrintOptions>): Result<SV.SvelteHead>;
/**
* TODO: Get rid of this once Svelte maintainers can provide a better solution
*/
type FixedSvelteOptions = SV.SvelteOptionsRaw & Omit<SV.SvelteOptions, "attributes" | "start" | "end"> & {
attributes: SV.SvelteOptions["attributes"];
options: SV.SvelteOptions;
};
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-options}
*
* @example
* ```svelte
* <svelte:options option={value} />
* ```
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
* WARN: This one is different, because it can be extracted only from {@link SV.Root}
*/
export declare function printSvelteOptions(n: SV.SvelteOptions | SV.SvelteOptionsRaw | FixedSvelteOptions, opts?: Partial<PrintOptions>): Result<FixedSvelteOptions>;
/**
* @deprecated Will be removed from Svelte `v6` {@link https://svelte.dev/docs/svelte/legacy-svelte-self}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteSelf(n: SV.SvelteSelf, opts?: Partial<PrintOptions>): Result<SV.SvelteSelf>;
/**
* @see {@link https://svelte.dev/docs/svelte/svelte-window}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printSvelteWindow(n: SV.SvelteWindow, opts?: Partial<PrintOptions>): Result<SV.SvelteWindow>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printTitleElement(n: SV.TitleElement, opts?: Partial<PrintOptions>): Result<SV.TitleElement>;
export {};
//# sourceMappingURL=element-like.d.ts.map