houdini-svelte
Version:
The svelte plugin for houdini
60 lines (59 loc) • 3.31 kB
TypeScript
import * as graphql from 'graphql';
import type { Config } from 'houdini';
import type * as recast from 'recast';
import type { SvelteTransformPage } from './transforms/types';
type Identifier = recast.types.namedTypes.Identifier;
export declare function is_route(config: Config, framework: Framework, filepath: string): boolean;
export declare function route_data_path(config: Config, filename: string): string;
export declare function routePagePath(config: Config, filename: string): string;
export declare function is_route_script(framework: Framework, filename: string): boolean;
export declare function is_page_script(framework: Framework, filename: string): boolean;
export declare function is_layout_script(framework: Framework, filename: string): boolean;
export declare function is_root_layout(config: Config, filename: string): boolean;
export declare function is_root_layout_server(config: Config, filename: string): boolean;
export declare function is_root_layout_script(config: Config, filename: string): boolean;
export declare function is_layout_component(framework: Framework, filename: string): boolean;
export declare function is_page_component(framework: Framework, filename: string): boolean;
export declare function is_layout(framework: Framework, filename: string): boolean;
export declare function is_component(config: Config, framework: Framework, filename: string): boolean;
export declare function page_query_path(config: Config, filename: string): string;
export declare function layout_query_path(config: Config, filename: string): string;
export declare function resolve_relative(config: Config, filename: string): string;
export declare function walk_routes(config: Config, framework: Framework, visitor: RouteVisitor, dirpath?: string): Promise<void>;
export type RouteVisitor = {
inlinePageQueries?: RouteVisitorHandler<graphql.OperationDefinitionNode>;
inlineLayoutQueries?: RouteVisitorHandler<graphql.OperationDefinitionNode>;
routePageQuery?: RouteVisitorHandler<graphql.OperationDefinitionNode>;
routeLayoutQuery?: RouteVisitorHandler<graphql.OperationDefinitionNode>;
routeComponentQuery?: RouteVisitorHandler<graphql.OperationDefinitionNode>;
layoutQueries?: RouteVisitorHandler<graphql.OperationDefinitionNode[]>;
pageQueries?: RouteVisitorHandler<graphql.OperationDefinitionNode[]>;
layoutExports?: RouteVisitorHandler<string[]>;
pageExports?: RouteVisitorHandler<string[]>;
route?: RouteVisitorHandler<{
dirpath: string;
svelteTypeFilePath: string;
layoutQueries: graphql.OperationDefinitionNode[];
pageQueries: graphql.OperationDefinitionNode[];
componentQueries: {
query: graphql.OperationDefinitionNode;
componentPath: string;
}[];
layoutExports: string[];
pageExports: string[];
}>;
};
type RouteVisitorHandler<_Payload> = (value: _Payload, filepath: string) => Promise<void> | void;
export declare function route_page_path(config: Config, filename: string): string;
export declare function store_import({ page, artifact, local, }: {
page: SvelteTransformPage;
artifact: {
name: string;
};
local?: string;
}): {
id: Identifier;
added: number;
};
export type Framework = 'kit' | 'svelte';
export {};