@lcap/nasl-language-server-core 4.4.0-beta.32 → 4.4.0-beta.34

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.
Files changed (41) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +27 -13
  3. package/out/checker.js.map +1 -1
  4. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  5. package/out/typer/collectGlobalDefs.js +55 -7
  6. package/out/typer/collectGlobalDefs.js.map +1 -1
  7. package/out/typer/component-def-manager/component-def-manager.d.ts +65 -7
  8. package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
  9. package/out/typer/component-def-manager/component-def-manager.js +400 -8
  10. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  11. package/out/typer/dispatch-call.d.ts.map +1 -1
  12. package/out/typer/dispatch-call.js +7 -1
  13. package/out/typer/dispatch-call.js.map +1 -1
  14. package/out/typer/dispatch-def.d.ts.map +1 -1
  15. package/out/typer/dispatch-def.js +1 -0
  16. package/out/typer/dispatch-def.js.map +1 -1
  17. package/out/typer/dispatch-view.d.ts.map +1 -1
  18. package/out/typer/dispatch-view.js +326 -142
  19. package/out/typer/dispatch-view.js.map +1 -1
  20. package/out/typer/overload-helper.d.ts +1 -1
  21. package/out/typer/overload-helper.d.ts.map +1 -1
  22. package/out/typer/overload-helper.js +13 -2
  23. package/out/typer/overload-helper.js.map +1 -1
  24. package/out/typer/subster.d.ts.map +1 -1
  25. package/out/typer/subster.js +80 -29
  26. package/out/typer/subster.js.map +1 -1
  27. package/out/typer/type-predicate.d.ts +14 -1
  28. package/out/typer/type-predicate.d.ts.map +1 -1
  29. package/out/typer/type-predicate.js +303 -3
  30. package/out/typer/type-predicate.js.map +1 -1
  31. package/out/typer/typer.d.ts +1 -0
  32. package/out/typer/typer.d.ts.map +1 -1
  33. package/out/typer/typer.js.map +1 -1
  34. package/out/typer/unifier.d.ts +8 -0
  35. package/out/typer/unifier.d.ts.map +1 -1
  36. package/out/typer/unifier.js +32 -0
  37. package/out/typer/unifier.js.map +1 -1
  38. package/out/utils/parseTsClassType.d.ts.map +1 -1
  39. package/out/utils/parseTsClassType.js +2 -2
  40. package/out/utils/parseTsClassType.js.map +1 -1
  41. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"collectGlobalDefs.d.ts","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,KAAK,EAGL,cAAc,EAEd,UAAU,EACV,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAY7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAsB/E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAqBxF;AAsbD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAIpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAyJvF;AAED,eAAO,MAAM,yBAAyB,SAAU,MAAM,kBAAkB,cAAc,QAAQ,UAAU,GAAG,IAAI,aAK9G,CAAC"}
1
+ {"version":3,"file":"collectGlobalDefs.d.ts","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,KAAK,EAGL,cAAc,EAEd,UAAU,EACV,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAY7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAwC/E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAqBxF;AAqdD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAIpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CA6JvF;AAED,eAAO,MAAM,yBAAyB,SAAU,MAAM,kBAAkB,cAAc,QAAQ,UAAU,GAAG,IAAI,aAK9G,CAAC"}
@@ -45,6 +45,18 @@ const lodash_1 = require("lodash");
45
45
  function normalizeNamespaceToMaxLevel2(nsp) {
46
46
  return nsp.split('.').slice(0, 2).join('.');
47
47
  }
48
+ /**
49
+ * 解析泛型形参上的 `extends` 约束。须用完整 `parseTsType`,以保留字面量 union(如 `DT extends 'date' | 'datetime'`);
50
+ * 仅用 `tryParsePrimitiveTyStr` 会得到 `undefined` 从而丢失约束。回退到 `tryParsePrimitiveTyStr` 以兼容旧有仅 primitive 的写法。
51
+ */
52
+ function parseGenericTypeParamConstraint(nsp, allTypeParamNames, paramIndex, constraint) {
53
+ const preceding = allTypeParamNames.slice(0, paramIndex);
54
+ const parsed = (0, parseTsClassType_1.parseTsType)(nsp)(preceding)(constraint);
55
+ if (parsed) {
56
+ return parsed;
57
+ }
58
+ return (0, parseTsClassType_1.tryParsePrimitiveTyStr)(constraint.getText());
59
+ }
48
60
  function parseTsFnToNaslQNameRefMaps(refMgr, fileContent) {
49
61
  if (!fileContent) {
50
62
  throw new Error(`Empty file content`);
@@ -142,10 +154,38 @@ const parseTsDeclarationsToNasl = (m, refMgr) => (node) => {
142
154
  }
143
155
  }
144
156
  else if (ts.isTypeAliasDeclaration(node)) { // 处理类型别名声明,如: type A = B.C
157
+ (0, assertion_1.assertTrusy)(nsp);
145
158
  const name = node.name.getText();
146
- const ty = (0, parseTsClassType_1.parseTsType)(nsp ?? '')([])(node.type);
147
- if (ty) {
148
- m.set(`${nsp}.${name}`, ty);
159
+ const tyParamNames = node.typeParameters?.map((tp) => tp.name.getText()) ?? [];
160
+ const bodyTy = (0, parseTsClassType_1.parseTsType)(nsp)(tyParamNames)(node.type);
161
+ if (bodyTy) {
162
+ // 带泛参的别名:保留形参顺序与 extends 约束(与 View 组件 class 一致),体放在 returnType[0],供求解阶段按约束实例化
163
+ if (node.typeParameters?.length) {
164
+ const typeParams = node.typeParameters.map((tp, i) => {
165
+ const tyParam = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
166
+ typeName: tp.name.getText(),
167
+ typeKind: 'typeParam',
168
+ });
169
+ if (tp.constraint) {
170
+ const c = parseGenericTypeParamConstraint(nsp, tyParamNames, i, tp.constraint);
171
+ if (c) {
172
+ tyParam.constraints = c;
173
+ }
174
+ }
175
+ return tyParam;
176
+ });
177
+ const aliasDef = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
178
+ typeName: name,
179
+ typeKind: 'generic',
180
+ typeNamespace: nsp,
181
+ typeParams,
182
+ returnType: [bodyTy],
183
+ });
184
+ m.set(`${nsp}.${name}`, aliasDef);
185
+ }
186
+ else {
187
+ m.set(`${nsp}.${name}`, bodyTy);
188
+ }
149
189
  }
150
190
  }
151
191
  ts.forEachChild(node, (n) => visit(n, nsp));
@@ -208,13 +248,17 @@ const parseTsDeclarationsToNasl = (m, refMgr) => (node) => {
208
248
  });
209
249
  // Extract type parameters
210
250
  if (node.typeParameters) {
211
- uiTy.typeParams = node.typeParameters.map((tp) => {
251
+ const classTypeParamNames = node.typeParameters.map((tp) => tp.name.getText());
252
+ uiTy.typeParams = node.typeParameters.map((tp, i) => {
212
253
  const tyParam = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
213
254
  typeName: tp.name.getText(),
214
255
  typeKind: 'typeParam',
215
256
  });
216
257
  if (tp.constraint) {
217
- tyParam.constraints = (0, parseTsClassType_1.tryParsePrimitiveTyStr)(tp.constraint.getText());
258
+ const c = parseGenericTypeParamConstraint(nsp, classTypeParamNames, i, tp.constraint);
259
+ if (c) {
260
+ tyParam.constraints = c;
261
+ }
218
262
  }
219
263
  return tyParam;
220
264
  });
@@ -489,13 +533,17 @@ function parseUiCompDefsDts(dtsfileContent) {
489
533
  });
490
534
  // Extract type parameters
491
535
  if (node.typeParameters) {
492
- uiTy.typeParams = node.typeParameters.map((tp) => {
536
+ const classTypeParamNames = node.typeParameters.map((tp) => tp.name.getText());
537
+ uiTy.typeParams = node.typeParameters.map((tp, i) => {
493
538
  const tyParam = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
494
539
  typeName: tp.name.getText(),
495
540
  typeKind: 'typeParam',
496
541
  });
497
542
  if (tp.constraint) {
498
- tyParam.constraints = (0, parseTsClassType_1.tryParsePrimitiveTyStr)(tp.constraint.getText());
543
+ const c = parseGenericTypeParamConstraint('', classTypeParamNames, i, tp.constraint);
544
+ if (c) {
545
+ tyParam.constraints = c;
546
+ }
499
547
  }
500
548
  return tyParam;
501
549
  });
@@ -1 +1 @@
1
- {"version":3,"file":"collectGlobalDefs.js","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectGlobalDefs.js","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,20 @@ type NormalizedTag = string & {
9
9
  };
10
10
  export declare function isViewElementDefinition(def: SyntaxNode): def is ViewElementDefinition;
11
11
  export declare function isGeneralViewElementDefinition(def: SyntaxNode): def is GeneralViewElementDefinition;
12
+ export declare class ComponentTagUtils {
13
+ /**
14
+ * 1. 将 kebab-case 转换为 PascalCase
15
+ * 2. 将 PascalCase 转换为 PascalCase
16
+ * 3. 将 camelCase 转换为 PascalCase
17
+ * @param tag
18
+ * @returns
19
+ */
20
+ static normalizeTag(tag: string): NormalizedTag;
21
+ static extractBusinessComponentQNameAsTag(nd: BusinessComponent): NormalizedTag;
22
+ }
12
23
  export declare class ComponentDefManager {
13
24
  private gComponents;
25
+ private typeParamMetaCache;
14
26
  private defToTag;
15
27
  /**
16
28
  * 清空一切组件定义
@@ -60,6 +72,11 @@ export declare class ComponentDefManager {
60
72
  * @returns 属性标题,如果没有则返回属性名本身
61
73
  */
62
74
  getPropTitle(componentTag: string, propName: string): string;
75
+ /**
76
+ * 获取某个组件的 TypeParamMeta 映射(rawName → meta),带懒缓存。
77
+ * 不需要实例化 ViewElementDefinitionHelper,可安全在 checker 中使用。
78
+ */
79
+ getTypeParamMetaMap(componentTag: string): Map<string, TypeParamMeta> | undefined;
63
80
  private queryByNormalizedTag;
64
81
  /**
65
82
  * 根据ViewElement,查询组件的定义(若有多个返回最先注册的一个)
@@ -75,15 +92,36 @@ type RenamedTypeParamWrapper = {
75
92
  rawName: string;
76
93
  renamed: TypeAnnotation;
77
94
  };
95
+ /**
96
+ * 类型变元在组件中的结构性角色,完全通过分析 d.ts 定义的类型结构自动识别,
97
+ * 不依赖类型参数名称(T/V/C/M/P 等)。
98
+ *
99
+ * - dataItem: 出现在 `{ list: List<X>, total: Integer } | List<X>` 模式中,代表行/列表项类型
100
+ * - valueResult: 是某个 `(item: DataItem) => X` 函数属性的返回类型,代表值字段类型
101
+ * - booleanFlag: 在 typeParams 声明中带有 `extends Boolean` 约束,代表布尔开关类型
102
+ */
103
+ export type TypeParamRole = 'dataItem' | 'valueResult' | 'booleanFlag' | 'converterLiteral';
104
+ /**
105
+ * 单个类型变元的兜底策略配置,完全由结构分析自动生成。
106
+ */
107
+ export interface TypeParamMeta {
108
+ role: TypeParamRole;
109
+ /** 该类型参数是否拥有自己的数据源,用于区分"自有数据"和"从祖先继承" */
110
+ hasOwnDataSource: boolean;
111
+ /** 该类型参数对应的数据源属性名(若 hasOwnDataSource 为 true) */
112
+ dataSourcePropName?: string;
113
+ /** 当类型变元在完全求解后仍然 unresolved 时,统一到的默认类型 */
114
+ defaultWhenUnresolved?: TypeAnnotation;
115
+ /** 当某个初始化属性缺省/为空时,根据该属性的值推导出一个默认类型 */
116
+ defaultFromProp?: {
117
+ propName: string;
118
+ mode: 'booleanFlag' | 'converterLiteral' | 'stringLiteral';
119
+ };
120
+ }
78
121
  declare class ViewElementDefinitionHelper {
79
- /**
80
- * 如有必要,重命名了类型变量后的组件定义
81
- */
82
122
  private renamedDef;
83
- /**
84
- * 原始组件定义
85
- */
86
123
  private rawDef;
124
+ private typeParamMetaMap;
87
125
  readonly implicitToStringPropsSet: ReadonlySet<string>;
88
126
  constructor(option: {
89
127
  def: ViewElementDefinition;
@@ -114,6 +152,12 @@ declare class ViewElementDefinitionHelper {
114
152
  * @returns
115
153
  */
116
154
  getInitPropsTypeAnnotation(): TypeAnnotation | undefined;
155
+ /**
156
+ * 根据 slotTarget 获取slot的scope类型
157
+ * @param slotTarget
158
+ * @returns
159
+ */
160
+ getSlotPropBySlotTarget(slotTarget: string): StructureProperty | undefined;
117
161
  /**
118
162
  * 根据 slotTarget 获取slot的参数类型
119
163
  * @param slotTarget
@@ -122,11 +166,25 @@ declare class ViewElementDefinitionHelper {
122
166
  * 1. 返回 非null,表示需要引入current
123
167
  * 2. 返回 null, 表示不需要引入current
124
168
  */
125
- getSlotScopeTypeBySlotTarget(slotTarget: string): [{
169
+ getSlotScopeType(slotProp: StructureProperty): [{
126
170
  name: string;
127
171
  type: TypeAnnotation;
128
172
  }] | null;
129
173
  getRenamedTypeParamWrappers(): RenamedTypeParamWrapper[];
174
+ /**
175
+ * 获取某个原始类型参数名对应的兜底策略配置。
176
+ */
177
+ getTypeParamMeta(rawName: string): TypeParamMeta | undefined;
178
+ /**
179
+ * 基于原始组件定义的类型结构,自动识别每个 typeParam 的角色并生成兜底策略。
180
+ * 完全不依赖 typeParam 的名字(T/V/C/M/P 等),只依赖类型结构模式匹配。
181
+ */
182
+ private buildTypeParamMeta;
130
183
  }
184
+ /**
185
+ * 基于原始组件定义的类型结构,自动识别每个 typeParam 的角色并生成兜底策略。
186
+ * 独立于 ViewElementDefinitionHelper 实例,可在不实例化的场景下使用(如 checker)。
187
+ */
188
+ export declare function buildTypeParamMetaFromRawDef(rawDef: ViewElementDefinition): Map<string, TypeParamMeta>;
131
189
  export {};
132
190
  //# sourceMappingURL=component-def-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-def-manager.d.ts","sourceRoot":"","sources":["../../../src/typer/component-def-manager/component-def-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-def-manager.d.ts","sourceRoot":"","sources":["../../../src/typer/component-def-manager/component-def-manager.ts"],"names":[],"mappings":"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"}