Spaces:
Sleeping
Sleeping
| import { LazyResult } from 'postcss'; | |
| import { ParserPlugin } from '@babel/parser'; | |
| declare interface AssetURLOptions { | |
| [name: string]: string | string[]; | |
| } | |
| declare type ASTAttr = { | |
| name: string; | |
| value: any; | |
| dynamic?: boolean; | |
| start?: number; | |
| end?: number; | |
| }; | |
| declare type ASTDirective = { | |
| name: string; | |
| rawName: string; | |
| value: string; | |
| arg: string | null; | |
| isDynamicArg: boolean; | |
| modifiers: ASTModifiers | null; | |
| start?: number; | |
| end?: number; | |
| }; | |
| declare type ASTElement = { | |
| type: 1; | |
| tag: string; | |
| attrsList: Array<ASTAttr>; | |
| attrsMap: { | |
| [key: string]: any; | |
| }; | |
| rawAttrsMap: { | |
| [key: string]: ASTAttr; | |
| }; | |
| parent: ASTElement | void; | |
| children: Array<ASTNode>; | |
| start?: number; | |
| end?: number; | |
| processed?: true; | |
| static?: boolean; | |
| staticRoot?: boolean; | |
| staticInFor?: boolean; | |
| staticProcessed?: boolean; | |
| hasBindings?: boolean; | |
| text?: string; | |
| attrs?: Array<ASTAttr>; | |
| dynamicAttrs?: Array<ASTAttr>; | |
| props?: Array<ASTAttr>; | |
| plain?: boolean; | |
| pre?: true; | |
| ns?: string; | |
| component?: string; | |
| inlineTemplate?: true; | |
| transitionMode?: string | null; | |
| slotName?: string | null; | |
| slotTarget?: string | null; | |
| slotTargetDynamic?: boolean; | |
| slotScope?: string | null; | |
| scopedSlots?: { | |
| [name: string]: ASTElement; | |
| }; | |
| ref?: string; | |
| refInFor?: boolean; | |
| if?: string; | |
| ifProcessed?: boolean; | |
| elseif?: string; | |
| else?: true; | |
| ifConditions?: ASTIfConditions; | |
| for?: string; | |
| forProcessed?: boolean; | |
| key?: string; | |
| alias?: string; | |
| iterator1?: string; | |
| iterator2?: string; | |
| staticClass?: string; | |
| classBinding?: string; | |
| staticStyle?: string; | |
| styleBinding?: string; | |
| events?: ASTElementHandlers; | |
| nativeEvents?: ASTElementHandlers; | |
| transition?: string | true; | |
| transitionOnAppear?: boolean; | |
| model?: { | |
| value: string; | |
| callback: string; | |
| expression: string; | |
| }; | |
| directives?: Array<ASTDirective>; | |
| forbidden?: true; | |
| once?: true; | |
| onceProcessed?: boolean; | |
| wrapData?: (code: string) => string; | |
| wrapListeners?: (code: string) => string; | |
| ssrOptimizability?: number; | |
| }; | |
| declare type ASTElementHandler = { | |
| value: string; | |
| params?: Array<any>; | |
| modifiers: ASTModifiers | null; | |
| dynamic?: boolean; | |
| start?: number; | |
| end?: number; | |
| }; | |
| declare type ASTElementHandlers = { | |
| [key: string]: ASTElementHandler | Array<ASTElementHandler>; | |
| }; | |
| declare type ASTExpression = { | |
| type: 2; | |
| expression: string; | |
| text: string; | |
| tokens: Array<string | Object>; | |
| static?: boolean; | |
| ssrOptimizability?: number; | |
| start?: number; | |
| end?: number; | |
| }; | |
| declare type ASTIfCondition = { | |
| exp: string | null; | |
| block: ASTElement; | |
| }; | |
| declare type ASTIfConditions = Array<ASTIfCondition>; | |
| declare type ASTModifiers = { | |
| [key: string]: boolean; | |
| }; | |
| declare type ASTNode = ASTElement | ASTText | ASTExpression; | |
| declare type ASTText = { | |
| type: 3; | |
| text: string; | |
| static?: boolean; | |
| isComment?: boolean; | |
| ssrOptimizability?: number; | |
| start?: number; | |
| end?: number; | |
| }; | |
| declare type BindingMetadata = { | |
| [key: string]: BindingTypes | undefined; | |
| } & { | |
| __isScriptSetup?: boolean; | |
| }; | |
| declare const enum BindingTypes { | |
| /** | |
| * returned from data() | |
| */ | |
| DATA = "data", | |
| /** | |
| * declared as a prop | |
| */ | |
| PROPS = "props", | |
| /** | |
| * a local alias of a `<script setup>` destructured prop. | |
| * the original is stored in __propsAliases of the bindingMetadata object. | |
| */ | |
| PROPS_ALIASED = "props-aliased", | |
| /** | |
| * a let binding (may or may not be a ref) | |
| */ | |
| SETUP_LET = "setup-let", | |
| /** | |
| * a const binding that can never be a ref. | |
| * these bindings don't need `unref()` calls when processed in inlined | |
| * template expressions. | |
| */ | |
| SETUP_CONST = "setup-const", | |
| /** | |
| * a const binding that does not need `unref()`, but may be mutated. | |
| */ | |
| SETUP_REACTIVE_CONST = "setup-reactive-const", | |
| /** | |
| * a const binding that may be a ref. | |
| */ | |
| SETUP_MAYBE_REF = "setup-maybe-ref", | |
| /** | |
| * bindings that are guaranteed to be refs | |
| */ | |
| SETUP_REF = "setup-ref", | |
| /** | |
| * declared by other options, e.g. computed, inject | |
| */ | |
| OPTIONS = "options" | |
| } | |
| declare type CompiledResult = { | |
| ast: ASTElement | null; | |
| render: string; | |
| staticRenderFns: Array<string>; | |
| stringRenderFns?: Array<string>; | |
| errors?: Array<string | WarningMessage>; | |
| tips?: Array<string | WarningMessage>; | |
| }; | |
| export declare type CompilerOptions = { | |
| warn?: Function; | |
| modules?: Array<ModuleOptions>; | |
| directives?: { | |
| [key: string]: Function; | |
| }; | |
| staticKeys?: string; | |
| isUnaryTag?: (tag: string) => boolean | undefined; | |
| canBeLeftOpenTag?: (tag: string) => boolean | undefined; | |
| isReservedTag?: (tag: string) => boolean | undefined; | |
| preserveWhitespace?: boolean; | |
| whitespace?: 'preserve' | 'condense'; | |
| optimize?: boolean; | |
| mustUseProp?: (tag: string, type: string | null, name: string) => boolean; | |
| isPreTag?: (attr: string) => boolean | null; | |
| getTagNamespace?: (tag: string) => string | undefined; | |
| expectHTML?: boolean; | |
| isFromDOM?: boolean; | |
| shouldDecodeTags?: boolean; | |
| shouldDecodeNewlines?: boolean; | |
| shouldDecodeNewlinesForHref?: boolean; | |
| outputSourceRange?: boolean; | |
| shouldKeepComment?: boolean; | |
| delimiters?: [string, string]; | |
| comments?: boolean; | |
| scopeId?: string; | |
| bindings?: BindingMetadata; | |
| }; | |
| /** | |
| * Compile `<script setup>` | |
| * It requires the whole SFC descriptor because we need to handle and merge | |
| * normal `<script>` + `<script setup>` if both are present. | |
| */ | |
| export declare function compileScript(sfc: SFCDescriptor, options?: SFCScriptCompileOptions): SFCScriptBlock; | |
| export declare function compileStyle(options: SFCStyleCompileOptions): SFCStyleCompileResults; | |
| export declare function compileStyleAsync(options: SFCStyleCompileOptions): Promise<SFCStyleCompileResults>; | |
| export declare function compileTemplate(options: SFCTemplateCompileOptions): SFCTemplateCompileResults; | |
| export declare function generateCodeFrame(source: string, start?: number, end?: number): string; | |
| declare interface ImportBinding { | |
| isType: boolean; | |
| imported: string; | |
| source: string; | |
| isFromSetup: boolean; | |
| isUsedInTemplate: boolean; | |
| } | |
| declare type ModuleOptions = { | |
| preTransformNode?: (el: ASTElement) => ASTElement | null | void; | |
| transformNode?: (el: ASTElement) => ASTElement | null | void; | |
| postTransformNode?: (el: ASTElement) => void; | |
| genData?: (el: ASTElement) => string; | |
| transformCode?: (el: ASTElement, code: string) => string; | |
| staticKeys?: Array<string>; | |
| }; | |
| export declare function parse(options: SFCParseOptions): SFCDescriptor; | |
| /** | |
| * Parse a single-file component (*.vue) file into an SFC Descriptor Object. | |
| */ | |
| export declare function parseComponent(source: string, options?: VueTemplateCompilerParseOptions): SFCDescriptor; | |
| declare interface RawSourceMap extends StartOfSourceMap { | |
| version: string; | |
| sources: string[]; | |
| names: string[]; | |
| sourcesContent?: string[]; | |
| mappings: string; | |
| } | |
| /** | |
| * Utility for rewriting `export default` in a script block into a variable | |
| * declaration so that we can inject things into it | |
| */ | |
| export declare function rewriteDefault(input: string, as: string, parserPlugins?: ParserPlugin[]): string; | |
| export declare interface SFCBlock extends SFCCustomBlock { | |
| lang?: string; | |
| scoped?: boolean; | |
| module?: string | boolean; | |
| } | |
| export declare interface SFCCustomBlock { | |
| type: string; | |
| content: string; | |
| attrs: { | |
| [key: string]: string | true; | |
| }; | |
| start: number; | |
| end: number; | |
| src?: string; | |
| map?: RawSourceMap; | |
| } | |
| export declare interface SFCDescriptor { | |
| source: string; | |
| filename: string; | |
| template: SFCBlock | null; | |
| script: SFCScriptBlock | null; | |
| scriptSetup: SFCScriptBlock | null; | |
| styles: SFCBlock[]; | |
| customBlocks: SFCCustomBlock[]; | |
| cssVars: string[]; | |
| errors: (string | WarningMessage)[]; | |
| /** | |
| * compare with an existing descriptor to determine whether HMR should perform | |
| * a reload vs. re-render. | |
| * | |
| * Note: this comparison assumes the prev/next script are already identical, | |
| * and only checks the special case where `<script setup lang="ts">` unused | |
| * import pruning result changes due to template changes. | |
| */ | |
| shouldForceReload: (prevImports: Record<string, ImportBinding>) => boolean; | |
| } | |
| export declare interface SFCParseOptions { | |
| source: string; | |
| filename?: string; | |
| compiler?: TemplateCompiler; | |
| compilerParseOptions?: VueTemplateCompilerParseOptions; | |
| sourceRoot?: string; | |
| sourceMap?: boolean; | |
| /** | |
| * @deprecated use `sourceMap` instead. | |
| */ | |
| needMap?: boolean; | |
| } | |
| export declare interface SFCScriptBlock extends SFCBlock { | |
| type: 'script'; | |
| setup?: string | boolean; | |
| bindings?: BindingMetadata; | |
| imports?: Record<string, ImportBinding>; | |
| /** | |
| * import('\@babel/types').Statement | |
| */ | |
| scriptAst?: any[]; | |
| /** | |
| * import('\@babel/types').Statement | |
| */ | |
| scriptSetupAst?: any[]; | |
| } | |
| export declare interface SFCScriptCompileOptions { | |
| /** | |
| * Scope ID for prefixing injected CSS variables. | |
| * This must be consistent with the `id` passed to `compileStyle`. | |
| */ | |
| id: string; | |
| /** | |
| * Production mode. Used to determine whether to generate hashed CSS variables | |
| */ | |
| isProd?: boolean; | |
| /** | |
| * Enable/disable source map. Defaults to true. | |
| */ | |
| sourceMap?: boolean; | |
| /** | |
| * https://babeljs.io/docs/en/babel-parser#plugins | |
| */ | |
| babelParserPlugins?: ParserPlugin[]; | |
| } | |
| export declare interface SFCStyleCompileOptions { | |
| source: string; | |
| filename: string; | |
| id: string; | |
| map?: any; | |
| scoped?: boolean; | |
| trim?: boolean; | |
| preprocessLang?: string; | |
| preprocessOptions?: any; | |
| postcssOptions?: any; | |
| postcssPlugins?: any[]; | |
| isProd?: boolean; | |
| } | |
| export declare interface SFCStyleCompileResults { | |
| code: string; | |
| map: any | void; | |
| rawResult: LazyResult | void; | |
| errors: string[]; | |
| } | |
| export declare interface SFCTemplateCompileOptions { | |
| source: string; | |
| filename: string; | |
| compiler?: TemplateCompiler; | |
| compilerOptions?: CompilerOptions; | |
| transformAssetUrls?: AssetURLOptions | boolean; | |
| transformAssetUrlsOptions?: TransformAssetUrlsOptions; | |
| preprocessLang?: string; | |
| preprocessOptions?: any; | |
| transpileOptions?: any; | |
| isProduction?: boolean; | |
| isFunctional?: boolean; | |
| optimizeSSR?: boolean; | |
| prettify?: boolean; | |
| isTS?: boolean; | |
| bindings?: BindingMetadata; | |
| } | |
| export declare interface SFCTemplateCompileResults { | |
| ast: Object | undefined; | |
| code: string; | |
| source: string; | |
| tips: (string | WarningMessage)[]; | |
| errors: (string | WarningMessage)[]; | |
| } | |
| declare interface StartOfSourceMap { | |
| file?: string; | |
| sourceRoot?: string; | |
| } | |
| export declare interface TemplateCompiler { | |
| parseComponent(source: string, options?: any): SFCDescriptor; | |
| compile(template: string, options: CompilerOptions): CompiledResult; | |
| ssrCompile(template: string, options: CompilerOptions): CompiledResult; | |
| } | |
| declare interface TransformAssetUrlsOptions { | |
| /** | |
| * If base is provided, instead of transforming relative asset urls into | |
| * imports, they will be directly rewritten to absolute urls. | |
| */ | |
| base?: string; | |
| /** | |
| * If true, also processes absolute urls. | |
| */ | |
| includeAbsolute?: boolean; | |
| } | |
| declare interface VueTemplateCompilerParseOptions { | |
| pad?: 'line' | 'space' | boolean; | |
| deindent?: boolean; | |
| outputSourceRange?: boolean; | |
| } | |
| export declare type WarningMessage = { | |
| msg: string; | |
| start?: number; | |
| end?: number; | |
| }; | |
| export { } | |