@vue/compiler-vapor 3.6.0-alpha.2 → 3.6.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,8 @@ import { SimpleExpressionNode, RootNode, TemplateChildNode, DirectiveNode, Compo
2
2
  export { parse } from '@vue/compiler-dom';
3
3
  import * as packages_runtime_vapor_src from 'packages/runtime-vapor/src';
4
4
  import * as packages_runtime_dom_src from 'packages/runtime-dom/src';
5
- import { Prettify } from '@vue/shared';
5
+ import { Prettify, Namespace } from '@vue/shared';
6
+ import { ImportItem } from '@vue/compiler-core';
6
7
 
7
8
  export interface IRProp extends Omit<DirectiveTransformResult, 'value'> {
8
9
  values: SimpleExpressionNode[];
@@ -81,6 +82,7 @@ export declare enum IRNodeTypes {
81
82
  }
82
83
  export interface BaseIRNode {
83
84
  type: IRNodeTypes;
85
+ key?: SimpleExpressionNode | undefined;
84
86
  }
85
87
  export type CoreHelper = keyof typeof packages_runtime_dom_src;
86
88
  export type VaporHelper = keyof typeof packages_runtime_vapor_src;
@@ -92,12 +94,14 @@ export interface BlockIRNode extends BaseIRNode {
92
94
  effect: IREffect[];
93
95
  operation: OperationNode[];
94
96
  returns: number[];
97
+ hasDeferredVShow: boolean;
95
98
  }
96
99
  export interface RootIRNode {
97
100
  type: IRNodeTypes.ROOT;
98
101
  node: RootNode;
99
102
  source: string;
100
- template: string[];
103
+ template: Map<string, Namespace>;
104
+ templateIndexMap: Map<string, number>;
101
105
  rootTemplateIndex?: number;
102
106
  component: Set<string>;
103
107
  directive: Set<string>;
@@ -113,6 +117,8 @@ export interface IfIRNode extends BaseIRNode {
113
117
  once?: boolean;
114
118
  parent?: number;
115
119
  anchor?: number;
120
+ append?: boolean;
121
+ last?: boolean;
116
122
  }
117
123
  export interface IRFor {
118
124
  source: SimpleExpressionNode;
@@ -130,6 +136,8 @@ export interface ForIRNode extends BaseIRNode, IRFor {
130
136
  onlyChild: boolean;
131
137
  parent?: number;
132
138
  anchor?: number;
139
+ append?: boolean;
140
+ last?: boolean;
133
141
  }
134
142
  export interface SetPropIRNode extends BaseIRNode {
135
143
  type: IRNodeTypes.SET_PROP;
@@ -143,6 +151,7 @@ export interface SetDynamicPropsIRNode extends BaseIRNode {
143
151
  element: number;
144
152
  props: IRProps[];
145
153
  root: boolean;
154
+ tag: string;
146
155
  }
147
156
  export interface SetDynamicEventsIRNode extends BaseIRNode {
148
157
  type: IRNodeTypes.SET_DYNAMIC_EVENTS;
@@ -155,6 +164,7 @@ export interface SetTextIRNode extends BaseIRNode {
155
164
  values: SimpleExpressionNode[];
156
165
  generated?: boolean;
157
166
  jsx?: boolean;
167
+ isComponent?: boolean;
158
168
  }
159
169
  export type KeyOverride = [find: string, replacement: string];
160
170
  export interface SetEventIRNode extends BaseIRNode {
@@ -176,6 +186,7 @@ export interface SetHtmlIRNode extends BaseIRNode {
176
186
  type: IRNodeTypes.SET_HTML;
177
187
  element: number;
178
188
  value: SimpleExpressionNode;
189
+ isComponent?: boolean;
179
190
  }
180
191
  export interface SetTemplateRefIRNode extends BaseIRNode {
181
192
  type: IRNodeTypes.SET_TEMPLATE_REF;
@@ -203,6 +214,7 @@ export interface DirectiveIRNode extends BaseIRNode {
203
214
  builtin?: boolean;
204
215
  asset?: boolean;
205
216
  modelType?: 'text' | 'dynamic' | 'radio' | 'checkbox' | 'select';
217
+ deferred?: boolean;
206
218
  }
207
219
  export interface CreateComponentIRNode extends BaseIRNode {
208
220
  type: IRNodeTypes.CREATE_COMPONENT_NODE;
@@ -214,8 +226,11 @@ export interface CreateComponentIRNode extends BaseIRNode {
214
226
  root: boolean;
215
227
  once: boolean;
216
228
  dynamic?: SimpleExpressionNode;
229
+ isCustomElement: boolean;
217
230
  parent?: number;
218
231
  anchor?: number;
232
+ append?: boolean;
233
+ last?: boolean;
219
234
  }
220
235
  export interface DeclareOldRefIRNode extends BaseIRNode {
221
236
  type: IRNodeTypes.DECLARE_OLD_REF;
@@ -227,8 +242,11 @@ export interface SlotOutletIRNode extends BaseIRNode {
227
242
  name: SimpleExpressionNode;
228
243
  props: IRProps[];
229
244
  fallback?: BlockIRNode;
245
+ noSlotted?: boolean;
230
246
  parent?: number;
231
247
  anchor?: number;
248
+ append?: boolean;
249
+ last?: boolean;
232
250
  }
233
251
  export interface GetTextChildIRNode extends BaseIRNode {
234
252
  type: IRNodeTypes.GET_TEXT_CHILD;
@@ -258,7 +276,9 @@ export interface IRDynamicInfo {
258
276
  children: IRDynamicInfo[];
259
277
  template?: number;
260
278
  hasDynamicChild?: boolean;
279
+ needsKey?: boolean;
261
280
  operation?: OperationNode;
281
+ ifBranch?: boolean;
262
282
  }
263
283
  export interface IREffect {
264
284
  expressions: SimpleExpressionNode[];
@@ -284,7 +304,7 @@ interface DirectiveTransformResult {
284
304
  modifier?: '.' | '^';
285
305
  runtimeCamelize?: boolean;
286
306
  handler?: boolean;
287
- handlerModifiers?: string[];
307
+ handlerModifiers?: SetEventIRNode['modifiers'];
288
308
  model?: boolean;
289
309
  modelModifiers?: string[];
290
310
  }
@@ -302,6 +322,7 @@ export declare class TransformContext<T extends AllNode = AllNode> {
302
322
  template: string;
303
323
  childrenTemplate: (string | null)[];
304
324
  dynamic: IRDynamicInfo;
325
+ imports: ImportItem[];
305
326
  inVOnce: boolean;
306
327
  inVFor: number;
307
328
  comment: CommentNode[];
@@ -309,9 +330,11 @@ export declare class TransformContext<T extends AllNode = AllNode> {
309
330
  directive: Set<string>;
310
331
  slots: IRSlots[];
311
332
  private globalId;
333
+ private nextIdMap;
312
334
  constructor(ir: RootIRNode, node: T, options?: TransformOptions);
313
335
  enterBlock(ir: BlockIRNode, isVFor?: boolean): () => void;
314
336
  increaseId: () => number;
337
+ private initNextIdMap;
315
338
  reference(): number;
316
339
  pushTemplate(content: string): number;
317
340
  registerTemplate(): number;
@@ -326,7 +349,8 @@ export type CodegenOptions = Omit<CodegenOptions$1, 'optimizeImports'>;
326
349
  export declare class CodegenContext {
327
350
  ir: RootIRNode;
328
351
  options: Required<CodegenOptions>;
329
- helpers: Set<string>;
352
+ bindingNames: Set<string>;
353
+ helpers: Map<string, string>;
330
354
  helper: (name: CoreHelper | VaporHelper) => string;
331
355
  delegates: Set<string>;
332
356
  identifiers: Record<string, (string | SimpleExpressionNode)[]>;
@@ -336,6 +360,13 @@ export declare class CodegenContext {
336
360
  enterBlock(block: BlockIRNode): () => BlockIRNode;
337
361
  scopeLevel: number;
338
362
  enterScope(): [level: number, exit: () => number];
363
+ private templateVars;
364
+ private nextIdMap;
365
+ private lastIdMap;
366
+ private lastTIndex;
367
+ private initNextIdMap;
368
+ tName(i: number): string;
369
+ pName(i: number): string;
339
370
  constructor(ir: RootIRNode, options: CodegenOptions);
340
371
  }
341
372
  export interface VaporCodegenResult extends BaseCodegenResult {