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

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.
@@ -1,4 +1,4 @@
1
- import { SimpleExpressionNode, RootNode, TemplateChildNode, DirectiveNode, CompoundExpressionNode, ElementNode, AllNode, CompilerCompatOptions, CommentNode, TransformOptions as TransformOptions$1, CodegenOptions as CodegenOptions$1, BaseCodegenResult, SourceLocation, CodegenSourceMapGenerator, TemplateNode, CompilerOptions as CompilerOptions$1, CompilerError } from '@vue/compiler-dom';
1
+ import { SimpleExpressionNode, RootNode, TemplateChildNode, DirectiveNode, CompoundExpressionNode, AllNode, ElementNode, CompilerCompatOptions, CommentNode, TransformOptions as TransformOptions$1, CodegenOptions as CodegenOptions$1, BaseCodegenResult, SourceLocation, CodegenSourceMapGenerator, TemplateNode, CompilerOptions as CompilerOptions$1, CompilerError } from '@vue/compiler-dom';
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';
@@ -71,13 +71,13 @@ export declare enum IRNodeTypes {
71
71
  SET_TEMPLATE_REF = 8,
72
72
  INSERT_NODE = 9,
73
73
  PREPEND_NODE = 10,
74
- CREATE_TEXT_NODE = 11,
75
- CREATE_COMPONENT_NODE = 12,
76
- SLOT_OUTLET_NODE = 13,
77
- DIRECTIVE = 14,
78
- DECLARE_OLD_REF = 15,// consider make it more general
79
- IF = 16,
80
- FOR = 17
74
+ CREATE_COMPONENT_NODE = 11,
75
+ SLOT_OUTLET_NODE = 12,
76
+ DIRECTIVE = 13,
77
+ DECLARE_OLD_REF = 14,// consider make it more general
78
+ IF = 15,
79
+ FOR = 16,
80
+ GET_TEXT_CHILD = 17
81
81
  }
82
82
  export interface BaseIRNode {
83
83
  type: IRNodeTypes;
@@ -88,9 +88,9 @@ export interface BlockIRNode extends BaseIRNode {
88
88
  type: IRNodeTypes.BLOCK;
89
89
  node: RootNode | TemplateChildNode;
90
90
  dynamic: IRDynamicInfo;
91
+ tempId: number;
91
92
  effect: IREffect[];
92
93
  operation: OperationNode[];
93
- expressions: SimpleExpressionNode[];
94
94
  returns: number[];
95
95
  }
96
96
  export interface RootIRNode {
@@ -111,6 +111,8 @@ export interface IfIRNode extends BaseIRNode {
111
111
  positive: BlockIRNode;
112
112
  negative?: BlockIRNode | IfIRNode;
113
113
  once?: boolean;
114
+ parent?: number;
115
+ anchor?: number;
114
116
  }
115
117
  export interface IRFor {
116
118
  source: SimpleExpressionNode;
@@ -125,6 +127,9 @@ export interface ForIRNode extends BaseIRNode, IRFor {
125
127
  render: BlockIRNode;
126
128
  once: boolean;
127
129
  component: boolean;
130
+ onlyChild: boolean;
131
+ parent?: number;
132
+ anchor?: number;
128
133
  }
129
134
  export interface SetPropIRNode extends BaseIRNode {
130
135
  type: IRNodeTypes.SET_PROP;
@@ -148,6 +153,8 @@ export interface SetTextIRNode extends BaseIRNode {
148
153
  type: IRNodeTypes.SET_TEXT;
149
154
  element: number;
150
155
  values: SimpleExpressionNode[];
156
+ generated?: boolean;
157
+ jsx?: boolean;
151
158
  }
152
159
  export type KeyOverride = [find: string, replacement: string];
153
160
  export interface SetEventIRNode extends BaseIRNode {
@@ -177,12 +184,6 @@ export interface SetTemplateRefIRNode extends BaseIRNode {
177
184
  refFor: boolean;
178
185
  effect: boolean;
179
186
  }
180
- export interface CreateTextNodeIRNode extends BaseIRNode {
181
- type: IRNodeTypes.CREATE_TEXT_NODE;
182
- id: number;
183
- values: SimpleExpressionNode[];
184
- effect: boolean;
185
- }
186
187
  export interface InsertNodeIRNode extends BaseIRNode {
187
188
  type: IRNodeTypes.INSERT_NODE;
188
189
  elements: number[];
@@ -213,6 +214,8 @@ export interface CreateComponentIRNode extends BaseIRNode {
213
214
  root: boolean;
214
215
  once: boolean;
215
216
  dynamic?: SimpleExpressionNode;
217
+ parent?: number;
218
+ anchor?: number;
216
219
  }
217
220
  export interface DeclareOldRefIRNode extends BaseIRNode {
218
221
  type: IRNodeTypes.DECLARE_OLD_REF;
@@ -224,9 +227,15 @@ export interface SlotOutletIRNode extends BaseIRNode {
224
227
  name: SimpleExpressionNode;
225
228
  props: IRProps[];
226
229
  fallback?: BlockIRNode;
230
+ parent?: number;
231
+ anchor?: number;
232
+ }
233
+ export interface GetTextChildIRNode extends BaseIRNode {
234
+ type: IRNodeTypes.GET_TEXT_CHILD;
235
+ parent: number;
227
236
  }
228
237
  export type IRNode = OperationNode | RootIRNode;
229
- export type OperationNode = SetPropIRNode | SetDynamicPropsIRNode | SetTextIRNode | SetEventIRNode | SetDynamicEventsIRNode | SetHtmlIRNode | SetTemplateRefIRNode | CreateTextNodeIRNode | InsertNodeIRNode | PrependNodeIRNode | DirectiveIRNode | IfIRNode | ForIRNode | CreateComponentIRNode | DeclareOldRefIRNode | SlotOutletIRNode;
238
+ export type OperationNode = SetPropIRNode | SetDynamicPropsIRNode | SetTextIRNode | SetEventIRNode | SetDynamicEventsIRNode | SetHtmlIRNode | SetTemplateRefIRNode | InsertNodeIRNode | PrependNodeIRNode | DirectiveIRNode | IfIRNode | ForIRNode | CreateComponentIRNode | DeclareOldRefIRNode | SlotOutletIRNode | GetTextChildIRNode;
230
239
  export declare enum DynamicFlag {
231
240
  NONE = 0,
232
241
  /**
@@ -248,6 +257,8 @@ export interface IRDynamicInfo {
248
257
  anchor?: number;
249
258
  children: IRDynamicInfo[];
250
259
  template?: number;
260
+ hasDynamicChild?: boolean;
261
+ operation?: OperationNode;
251
262
  }
252
263
  export interface IREffect {
253
264
  expressions: SimpleExpressionNode[];
@@ -262,6 +273,8 @@ export type VaporDirectiveNode = Overwrite<DirectiveNode, {
262
273
  exp: Exclude<DirectiveNode['exp'], CompoundExpressionNode>;
263
274
  arg: Exclude<DirectiveNode['arg'], CompoundExpressionNode>;
264
275
  }>;
276
+ export type InsertionStateTypes = IfIRNode | ForIRNode | SlotOutletIRNode | CreateComponentIRNode;
277
+ export declare function isBlockOperation(op: OperationNode): op is InsertionStateTypes;
265
278
 
266
279
  export type NodeTransform = (node: RootNode | TemplateChildNode, context: TransformContext<RootNode | TemplateChildNode>) => void | (() => void) | (() => void)[];
267
280
  export type DirectiveTransform = (dir: VaporDirectiveNode, node: ElementNode, context: TransformContext<ElementNode>) => DirectiveTransformResult | void;
@@ -280,6 +293,7 @@ type TransformOptions = HackOptions<TransformOptions$1>;
280
293
  export declare class TransformContext<T extends AllNode = AllNode> {
281
294
  ir: RootIRNode;
282
295
  node: T;
296
+ selfName: string | null;
283
297
  parent: TransformContext<RootNode | ElementNode> | null;
284
298
  root: TransformContext<RootNode>;
285
299
  index: number;
@@ -301,7 +315,7 @@ export declare class TransformContext<T extends AllNode = AllNode> {
301
315
  reference(): number;
302
316
  pushTemplate(content: string): number;
303
317
  registerTemplate(): number;
304
- registerEffect(expressions: SimpleExpressionNode[], ...operations: OperationNode[]): void;
318
+ registerEffect(expressions: SimpleExpressionNode[], operation: OperationNode | OperationNode[], getIndex?: () => number): void;
305
319
  registerOperation(...node: OperationNode[]): void;
306
320
  create<T extends TemplateChildNode>(node: T, index: number): TransformContext<T>;
307
321
  }
@@ -404,3 +418,4 @@ export declare const transformSlotOutlet: NodeTransform;
404
418
 
405
419
  export declare const transformVSlot: NodeTransform;
406
420
 
421
+