UNPKG

@storybook/addon-svelte-csf

Version:
25 lines (24 loc) 1.29 kB
import type { ESTreeAST } from '../../ast.js'; import type { SvelteASTNodes } from './nodes.js'; import type { CompiledASTNodes } from '../compiled/nodes.js'; import type { Cmp, ComponentAnnotations } from '../../../types.js'; interface Options<Properties extends Array<keyof ComponentAnnotations<Cmp>>> { nodes: SvelteASTNodes | CompiledASTNodes; properties: Properties; filename?: string; } type Result<Properties extends Array<keyof ComponentAnnotations<Cmp>>> = Partial<{ [Key in Properties[number]]: ESTreeAST.Property; }>; /** * Extract selected properties from `defineMeta` as AST node {@link Property}. * It works for original svelte code as well as compiled code, * because in both cases, the AST structure is the same _(or should be!)_. */ export declare function extractDefineMetaPropertiesNodes<const Properties extends Array<keyof ComponentAnnotations<Cmp>>>(options: Options<Properties>): Result<Properties>; /** * `defineMeta` accepts only one argument - an {@link ObjectExpression}, * which should satisfy `@storybook/svelte`'s interface {@link Meta}. */ export declare function getDefineMetaFirstArgumentObjectExpression(options: Pick<Options<Array<keyof ComponentAnnotations<Cmp>>>, 'filename' | 'nodes'>): ESTreeAST.ObjectExpression; export {};