@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.
- package/out/checker.d.ts.map +1 -1
- package/out/checker.js +27 -13
- package/out/checker.js.map +1 -1
- package/out/typer/collectGlobalDefs.d.ts.map +1 -1
- package/out/typer/collectGlobalDefs.js +55 -7
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.d.ts +65 -7
- package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.js +400 -8
- package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
- package/out/typer/dispatch-call.d.ts.map +1 -1
- package/out/typer/dispatch-call.js +7 -1
- package/out/typer/dispatch-call.js.map +1 -1
- package/out/typer/dispatch-def.d.ts.map +1 -1
- package/out/typer/dispatch-def.js +1 -0
- package/out/typer/dispatch-def.js.map +1 -1
- package/out/typer/dispatch-view.d.ts.map +1 -1
- package/out/typer/dispatch-view.js +326 -142
- package/out/typer/dispatch-view.js.map +1 -1
- package/out/typer/overload-helper.d.ts +1 -1
- package/out/typer/overload-helper.d.ts.map +1 -1
- package/out/typer/overload-helper.js +13 -2
- package/out/typer/overload-helper.js.map +1 -1
- package/out/typer/subster.d.ts.map +1 -1
- package/out/typer/subster.js +80 -29
- package/out/typer/subster.js.map +1 -1
- package/out/typer/type-predicate.d.ts +14 -1
- package/out/typer/type-predicate.d.ts.map +1 -1
- package/out/typer/type-predicate.js +303 -3
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +1 -0
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts +8 -0
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +32 -0
- package/out/typer/unifier.js.map +1 -1
- package/out/utils/parseTsClassType.d.ts.map +1 -1
- package/out/utils/parseTsClassType.js +2 -2
- package/out/utils/parseTsClassType.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ComponentDefManager = exports.isGeneralViewElementDefinition = exports.isViewElementDefinition = void 0;
|
|
3
|
+
exports.buildTypeParamMetaFromRawDef = exports.ComponentDefManager = exports.ComponentTagUtils = exports.isGeneralViewElementDefinition = exports.isViewElementDefinition = void 0;
|
|
4
4
|
const type_manager_1 = require("../type-manager");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
6
|
const nasl_utils_1 = require("@lcap/nasl-utils");
|
|
@@ -15,11 +15,17 @@ function kebabToPascal(input) {
|
|
|
15
15
|
}
|
|
16
16
|
function isViewElementDefinition(def) {
|
|
17
17
|
// FIXME: 处理一下这个函数
|
|
18
|
+
const ty = def;
|
|
18
19
|
return (def.concept === 'TypeAnnotation' &&
|
|
19
20
|
// 排除 nasl.ui.showMessage 这种函数
|
|
20
|
-
|
|
21
|
+
ty.typeKind !== 'function' &&
|
|
22
|
+
// 类型别名(conditional / union 等)不是 View 组件;否则误入 compDefMgr,gQNameDefs 中缺失(如 DateConverterToType)
|
|
23
|
+
ty.typeKind !== 'conditional' &&
|
|
24
|
+
ty.typeKind !== 'union' &&
|
|
25
|
+
// 带泛参的 DTS:仅 props 为匿名结构的为 UI 组件;类型别名包装体 returnType 为 conditional 等,须归入 gQNameDefs
|
|
26
|
+
(ty.typeKind !== 'generic' || ty.returnType?.[0]?.typeKind === 'anonymousStructure') &&
|
|
21
27
|
// 排除 组件的Options 类
|
|
22
|
-
!
|
|
28
|
+
!ty.typeName?.endsWith('Options'));
|
|
23
29
|
}
|
|
24
30
|
exports.isViewElementDefinition = isViewElementDefinition;
|
|
25
31
|
function isGeneralViewElementDefinition(def) {
|
|
@@ -43,9 +49,11 @@ class ComponentTagUtils {
|
|
|
43
49
|
return qName;
|
|
44
50
|
}
|
|
45
51
|
}
|
|
52
|
+
exports.ComponentTagUtils = ComponentTagUtils;
|
|
46
53
|
class ComponentDefManager {
|
|
47
54
|
constructor() {
|
|
48
55
|
this.gComponents = new Map();
|
|
56
|
+
this.typeParamMetaCache = new Map();
|
|
49
57
|
}
|
|
50
58
|
defToTag(def) {
|
|
51
59
|
switch (def.concept) {
|
|
@@ -214,6 +222,22 @@ class ComponentDefManager {
|
|
|
214
222
|
const group = this.gComponents.get(normalizedTag);
|
|
215
223
|
return group?.propTitles?.get(propName) ?? propName;
|
|
216
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* 获取某个组件的 TypeParamMeta 映射(rawName → meta),带懒缓存。
|
|
227
|
+
* 不需要实例化 ViewElementDefinitionHelper,可安全在 checker 中使用。
|
|
228
|
+
*/
|
|
229
|
+
getTypeParamMetaMap(componentTag) {
|
|
230
|
+
const normalizedTag = ComponentTagUtils.normalizeTag(componentTag);
|
|
231
|
+
const cached = this.typeParamMetaCache.get(normalizedTag);
|
|
232
|
+
if (cached)
|
|
233
|
+
return cached;
|
|
234
|
+
const result = this.queryByNormalizedTag(normalizedTag);
|
|
235
|
+
if (!result)
|
|
236
|
+
return undefined;
|
|
237
|
+
const meta = buildTypeParamMetaFromRawDef(result.rawDef);
|
|
238
|
+
this.typeParamMetaCache.set(normalizedTag, meta);
|
|
239
|
+
return meta;
|
|
240
|
+
}
|
|
217
241
|
queryByNormalizedTag(tag) {
|
|
218
242
|
// 返回最先注册的一个。没有特殊的原因,返回最后一个注册的也可以。
|
|
219
243
|
const rawDef = (0, lodash_1.head)(this.gComponents.get(tag)?.defs)?.def;
|
|
@@ -254,6 +278,219 @@ class NameTransformer {
|
|
|
254
278
|
return name.replace(/^\S/, (s) => s.toUpperCase());
|
|
255
279
|
}
|
|
256
280
|
}
|
|
281
|
+
// ─── 结构化类型参数角色识别工具 ──────────────────────────────────────
|
|
282
|
+
// 以下函数通过分析 initProps 的类型结构(而非类型参数名字)来识别角色。
|
|
283
|
+
/**
|
|
284
|
+
* 检查一个 TypeAnnotation 是否引用了指定的 typeParam(按 typeName 匹配)。
|
|
285
|
+
*/
|
|
286
|
+
function isTyRef(ty, paramName) {
|
|
287
|
+
return ty?.typeKind === 'typeParam' && ty.typeName === paramName;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* 从匿名结构 `{ list: List<X>, ... }` 中提取 typeParam 名。
|
|
291
|
+
* 仅匹配包含 `list: List<X>` 属性的匿名结构——这是 dataSource 的标志性结构。
|
|
292
|
+
* 不匹配独立的 `List<X>`(如 `values: List<V>`),避免把 value 类型错误识别为 dataItem。
|
|
293
|
+
*/
|
|
294
|
+
function extractTypeParamFromStructuredList(ty, typeParamNames) {
|
|
295
|
+
if (!ty)
|
|
296
|
+
return undefined;
|
|
297
|
+
if (ty.typeKind === 'anonymousStructure' && ty.properties?.length) {
|
|
298
|
+
const listProp = ty.properties.find((p) => p.name === 'list');
|
|
299
|
+
if (listProp?.typeAnnotation?.typeName === 'List' &&
|
|
300
|
+
listProp.typeAnnotation.typeNamespace === 'nasl.collection' &&
|
|
301
|
+
listProp.typeAnnotation.typeArguments?.[0]?.typeKind === 'typeParam') {
|
|
302
|
+
const name = listProp.typeAnnotation.typeArguments[0].typeName;
|
|
303
|
+
if (name && typeParamNames.has(name))
|
|
304
|
+
return name;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* 在一个可能是 union 的类型里搜索 dataSource 模式。
|
|
311
|
+
* 仅当类型中包含 `{ list: List<X>, ... }` 匿名结构时才认定为 dataSource 模式。
|
|
312
|
+
*
|
|
313
|
+
* 匹配以下结构:
|
|
314
|
+
* - `{ list: List<X>, total: Integer }` (直接结构)
|
|
315
|
+
* - `{ list: List<X>, total: Integer } | List<X>` (union 包含结构)
|
|
316
|
+
* - `{ list: List<X>, total: Integer } | List<X> | OtherType` (union 多分支)
|
|
317
|
+
*
|
|
318
|
+
* 不匹配:
|
|
319
|
+
* - `List<V>` (独立 List,如 values: List<V>、pageSizeOptions: List<Integer>)
|
|
320
|
+
* - `List<V> | null` (没有 { list: List<X> } 的 union)
|
|
321
|
+
*/
|
|
322
|
+
function extractDataItemFromType(ty, typeParamNames) {
|
|
323
|
+
if (!ty)
|
|
324
|
+
return undefined;
|
|
325
|
+
if (ty.typeKind === 'union' && ty.typeArguments?.length) {
|
|
326
|
+
for (const alt of ty.typeArguments) {
|
|
327
|
+
const found = extractTypeParamFromStructuredList(alt, typeParamNames);
|
|
328
|
+
if (found)
|
|
329
|
+
return found;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return extractTypeParamFromStructuredList(ty, typeParamNames);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* 扫描所有 initProps,找出所有"数据项"类型参数。
|
|
336
|
+
* 返回 Map<typeParamName, dataSourcePropName>。
|
|
337
|
+
*
|
|
338
|
+
* 匹配两种数据源模式:
|
|
339
|
+
* 1. `{ list: List<T>, total: Integer }` 结构模式(如 UTableView)
|
|
340
|
+
* 2. `dataSource: List<T>` 直接 List 模式(如 USelectableSteps)
|
|
341
|
+
*/
|
|
342
|
+
function findDataItemTypeParams(props, typeParamNames) {
|
|
343
|
+
const result = new Map();
|
|
344
|
+
for (const prop of props) {
|
|
345
|
+
const found = extractDataItemFromType(prop.typeAnnotation, typeParamNames);
|
|
346
|
+
if (found && !result.has(found)) {
|
|
347
|
+
result.set(found, prop.name);
|
|
348
|
+
continue;
|
|
349
|
+
}
|
|
350
|
+
// 直接 List<T> 模式:dataSource: nasl.collection.List<T>
|
|
351
|
+
if (prop.name === 'dataSource') {
|
|
352
|
+
const ty = prop.typeAnnotation;
|
|
353
|
+
if (ty?.typeName === 'List' &&
|
|
354
|
+
ty.typeNamespace === 'nasl.collection' &&
|
|
355
|
+
ty.typeArguments?.[0]?.typeKind === 'typeParam') {
|
|
356
|
+
const paramName = ty.typeArguments[0].typeName;
|
|
357
|
+
if (paramName && typeParamNames.has(paramName) && !result.has(paramName)) {
|
|
358
|
+
result.set(paramName, prop.name);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return result;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* 扫描所有 initProps,找出"值字段结果"类型参数。
|
|
367
|
+
* 匹配模式: 某个属性类型为 `(item: DataItem) => X`,其中 X 是一个 typeParam。
|
|
368
|
+
*/
|
|
369
|
+
function findValueResultTypeParams(props, typeParamNames, dataItemParamNames) {
|
|
370
|
+
const result = new Set();
|
|
371
|
+
for (const prop of props) {
|
|
372
|
+
const ty = prop.typeAnnotation;
|
|
373
|
+
if (ty?.typeKind !== 'function' || !ty.fnArgs?.length || !ty.returnType?.length)
|
|
374
|
+
continue;
|
|
375
|
+
const firstArgType = ty.fnArgs[0]?.type;
|
|
376
|
+
if (!firstArgType || firstArgType.typeKind !== 'typeParam')
|
|
377
|
+
continue;
|
|
378
|
+
if (!dataItemParamNames.has(firstArgType.typeName ?? ''))
|
|
379
|
+
continue;
|
|
380
|
+
const retTy = ty.returnType[0];
|
|
381
|
+
if (retTy?.typeKind === 'typeParam' && retTy.typeName && typeParamNames.has(retTy.typeName)) {
|
|
382
|
+
result.add(retTy.typeName);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return result;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* 检测带有 `extends Boolean` 约束的类型参数。
|
|
389
|
+
* 在 rawDef.typeParams 上判断 constraints 字段。
|
|
390
|
+
*/
|
|
391
|
+
function findBooleanConstraintTypeParams(typeParams) {
|
|
392
|
+
const result = new Set();
|
|
393
|
+
for (const tp of typeParams) {
|
|
394
|
+
const name = tp.typeName;
|
|
395
|
+
if (!name)
|
|
396
|
+
continue;
|
|
397
|
+
// constraints 是单个 TypeAnnotation(多个约束时为 union 类型)
|
|
398
|
+
const constraint = tp.constraints;
|
|
399
|
+
if (!constraint)
|
|
400
|
+
continue;
|
|
401
|
+
const isBooleanConstraint = (c) => c.typeNamespace === 'nasl.core' && c.typeName === 'Boolean';
|
|
402
|
+
if (isBooleanConstraint(constraint)) {
|
|
403
|
+
result.add(name);
|
|
404
|
+
}
|
|
405
|
+
else if (constraint.typeKind === 'union' && constraint.typeArguments?.some(isBooleanConstraint)) {
|
|
406
|
+
result.add(name);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return result;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* 为 booleanFlag 类型参数找到对应的属性名。
|
|
413
|
+
* 策略:在 initProps 中找到类型直接是该 typeParam 的属性(排除已被识别为 dataItem/valueResult 的)。
|
|
414
|
+
*/
|
|
415
|
+
function findBooleanPropForTypeParam(paramName, props, excludeParams) {
|
|
416
|
+
if (excludeParams.has(paramName))
|
|
417
|
+
return undefined;
|
|
418
|
+
for (const prop of props) {
|
|
419
|
+
if (isTyRef(prop.typeAnnotation, paramName)) {
|
|
420
|
+
return prop.name;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
return undefined;
|
|
424
|
+
}
|
|
425
|
+
/** 类型参数约束为字面量 union(如 C extends 'auto' | 'string'),用于识别 converter / picker 的 type 等 */
|
|
426
|
+
function hasStringLiteralUnionConstraint(tp) {
|
|
427
|
+
const c = tp.constraints;
|
|
428
|
+
if (!c)
|
|
429
|
+
return false;
|
|
430
|
+
const ok = (ty) => {
|
|
431
|
+
if (!ty)
|
|
432
|
+
return false;
|
|
433
|
+
if (ty.typeKind === 'literal')
|
|
434
|
+
return typeof ty.literal === 'string';
|
|
435
|
+
if (ty.typeKind === 'union' && ty.typeArguments?.length) {
|
|
436
|
+
return ty.typeArguments.every((a) => ok(a));
|
|
437
|
+
}
|
|
438
|
+
return false;
|
|
439
|
+
};
|
|
440
|
+
return ok(c);
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* 扫描属性类型中的条件类型,找出用作 checkType 的类型参数。
|
|
444
|
+
* 例如 `value: C extends '' ? List<V> : String` 中,C 是条件标志。
|
|
445
|
+
* 返回 Map<typeParamName, { extendsType, propName? }>。
|
|
446
|
+
*/
|
|
447
|
+
function findConditionalFlagTypeParams(props, typeParamNames, assignedParams) {
|
|
448
|
+
const result = new Map();
|
|
449
|
+
for (const prop of props) {
|
|
450
|
+
const ty = prop.typeAnnotation;
|
|
451
|
+
if (ty?.typeKind !== 'conditional')
|
|
452
|
+
continue;
|
|
453
|
+
const checkType = ty.checkType;
|
|
454
|
+
if (checkType?.typeKind === 'typeParam' &&
|
|
455
|
+
checkType.typeName &&
|
|
456
|
+
typeParamNames.has(checkType.typeName) &&
|
|
457
|
+
!assignedParams.has(checkType.typeName) &&
|
|
458
|
+
ty.extendsType) {
|
|
459
|
+
result.set(checkType.typeName, { extendsType: ty.extendsType, propName: undefined });
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
for (const [paramName, info] of result) {
|
|
463
|
+
const lit = info.extendsType;
|
|
464
|
+
if (lit.typeKind === 'literal') {
|
|
465
|
+
for (const prop of props) {
|
|
466
|
+
const pty = prop.typeAnnotation;
|
|
467
|
+
if (!pty)
|
|
468
|
+
continue;
|
|
469
|
+
if (pty.typeKind === 'union' &&
|
|
470
|
+
pty.typeArguments?.some((a) => a.typeKind === 'literal' && a.literal === lit.literal)) {
|
|
471
|
+
info.propName = prop.name;
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
if (pty.typeKind === 'literal' && pty.literal === lit.literal) {
|
|
475
|
+
info.propName = prop.name;
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
// modelValue 等:外层条件是 DT extends 'date',但 init 里是 type: DT(类型参数),
|
|
481
|
+
// 不是字面量 union,上面匹配不到;用「属性类型即该类型参数」补上(如 el-date-picker)。
|
|
482
|
+
if (!info.propName) {
|
|
483
|
+
for (const prop of props) {
|
|
484
|
+
if (isTyRef(prop.typeAnnotation, paramName)) {
|
|
485
|
+
info.propName = prop.name;
|
|
486
|
+
break;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
return result;
|
|
492
|
+
}
|
|
493
|
+
// ─── ViewElementDefinitionHelper ──────────────────────────────────
|
|
257
494
|
class ViewElementDefinitionHelper {
|
|
258
495
|
constructor(option, env) {
|
|
259
496
|
this.rawDef = option.def;
|
|
@@ -267,6 +504,7 @@ class ViewElementDefinitionHelper {
|
|
|
267
504
|
env.unifier.inPlaceRenameTy(defWithTypeParams);
|
|
268
505
|
}
|
|
269
506
|
this.renamedDef = defWithTypeParams;
|
|
507
|
+
this.typeParamMetaMap = this.buildTypeParamMeta();
|
|
270
508
|
}
|
|
271
509
|
/**
|
|
272
510
|
* 为组件定义增加 _if: boolean 属性
|
|
@@ -358,6 +596,15 @@ class ViewElementDefinitionHelper {
|
|
|
358
596
|
getInitPropsTypeAnnotation() {
|
|
359
597
|
return this.renamedDef.typeArguments?.[0];
|
|
360
598
|
}
|
|
599
|
+
/**
|
|
600
|
+
* 根据 slotTarget 获取slot的scope类型
|
|
601
|
+
* @param slotTarget
|
|
602
|
+
* @returns
|
|
603
|
+
*/
|
|
604
|
+
getSlotPropBySlotTarget(slotTarget) {
|
|
605
|
+
const slotMethodName = `slot${NameTransformer.toFirstUpper(NameTransformer.toHump(slotTarget))}`;
|
|
606
|
+
return this.getInitPropsTypeAnnotation()?.properties?.find((prop) => prop.name === slotMethodName);
|
|
607
|
+
}
|
|
361
608
|
/**
|
|
362
609
|
* 根据 slotTarget 获取slot的参数类型
|
|
363
610
|
* @param slotTarget
|
|
@@ -366,14 +613,11 @@ class ViewElementDefinitionHelper {
|
|
|
366
613
|
* 1. 返回 非null,表示需要引入current
|
|
367
614
|
* 2. 返回 null, 表示不需要引入current
|
|
368
615
|
*/
|
|
369
|
-
|
|
370
|
-
const slotMethodName = `slot${NameTransformer.toFirstUpper(NameTransformer.toHump(slotTarget))}`;
|
|
371
|
-
const slotProp = this.getInitPropsTypeAnnotation()?.properties?.find((prop) => prop.name === slotMethodName);
|
|
616
|
+
getSlotScopeType(slotProp) {
|
|
372
617
|
if (slotProp?.typeAnnotation?.typeKind === 'function' &&
|
|
373
618
|
slotProp.typeAnnotation.fnArgs?.length) {
|
|
374
|
-
// 如果slotProp.typeAnnotation.fnArgs[0]?.name !== 'current',那么报错提示一下用户
|
|
375
619
|
if (slotProp.typeAnnotation.fnArgs[0]?.name !== 'current') {
|
|
376
|
-
console.error(`[
|
|
620
|
+
console.error(`[getSlotScopeType] slotProp: ${slotProp.name}, 目前只支持current作为slot变量的名字,请使用current作为slot变量的名字`);
|
|
377
621
|
}
|
|
378
622
|
return [
|
|
379
623
|
{
|
|
@@ -392,5 +636,153 @@ class ViewElementDefinitionHelper {
|
|
|
392
636
|
return { rawName, renamed: x };
|
|
393
637
|
}) ?? []);
|
|
394
638
|
}
|
|
639
|
+
/**
|
|
640
|
+
* 获取某个原始类型参数名对应的兜底策略配置。
|
|
641
|
+
*/
|
|
642
|
+
getTypeParamMeta(rawName) {
|
|
643
|
+
return this.typeParamMetaMap.get(rawName);
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* 基于原始组件定义的类型结构,自动识别每个 typeParam 的角色并生成兜底策略。
|
|
647
|
+
* 完全不依赖 typeParam 的名字(T/V/C/M/P 等),只依赖类型结构模式匹配。
|
|
648
|
+
*/
|
|
649
|
+
buildTypeParamMeta() {
|
|
650
|
+
return buildTypeParamMetaFromRawDef(this.rawDef);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* 基于原始组件定义的类型结构,自动识别每个 typeParam 的角色并生成兜底策略。
|
|
655
|
+
* 独立于 ViewElementDefinitionHelper 实例,可在不实例化的场景下使用(如 checker)。
|
|
656
|
+
*/
|
|
657
|
+
function buildTypeParamMetaFromRawDef(rawDef) {
|
|
658
|
+
const map = new Map();
|
|
659
|
+
const rawTypeParams = rawDef.typeParams ?? [];
|
|
660
|
+
if (!rawTypeParams.length)
|
|
661
|
+
return map;
|
|
662
|
+
const rawInitProps = rawDef.typeArguments?.[0]?.properties ?? [];
|
|
663
|
+
const typeParamNames = new Set(rawTypeParams.map((tp) => tp.typeName).filter((n) => !!n));
|
|
664
|
+
const dataItemMap = findDataItemTypeParams(rawInitProps, typeParamNames);
|
|
665
|
+
const dataItemNames = new Set(dataItemMap.keys());
|
|
666
|
+
const valueResultNames = findValueResultTypeParams(rawInitProps, typeParamNames, dataItemNames);
|
|
667
|
+
const booleanNames = findBooleanConstraintTypeParams(rawTypeParams);
|
|
668
|
+
const assignedParams = new Set([...dataItemNames, ...valueResultNames]);
|
|
669
|
+
const conditionalFlagExcludes = new Set([...assignedParams, ...booleanNames]);
|
|
670
|
+
const conditionalFlags = findConditionalFlagTypeParams(rawInitProps, typeParamNames, conditionalFlagExcludes);
|
|
671
|
+
rawTypeParams.forEach((tp) => {
|
|
672
|
+
const name = tp.typeName;
|
|
673
|
+
if (!name)
|
|
674
|
+
return;
|
|
675
|
+
if (dataItemNames.has(name)) {
|
|
676
|
+
map.set(name, {
|
|
677
|
+
role: 'dataItem',
|
|
678
|
+
hasOwnDataSource: true,
|
|
679
|
+
dataSourcePropName: dataItemMap.get(name),
|
|
680
|
+
defaultWhenUnresolved: type_manager_1.naslStringTy,
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
else if (valueResultNames.has(name)) {
|
|
684
|
+
map.set(name, {
|
|
685
|
+
role: 'valueResult',
|
|
686
|
+
hasOwnDataSource: false,
|
|
687
|
+
defaultWhenUnresolved: type_manager_1.naslStringTy,
|
|
688
|
+
});
|
|
689
|
+
}
|
|
690
|
+
else if (booleanNames.has(name)) {
|
|
691
|
+
const propName = findBooleanPropForTypeParam(name, rawInitProps, assignedParams);
|
|
692
|
+
map.set(name, {
|
|
693
|
+
role: 'booleanFlag',
|
|
694
|
+
hasOwnDataSource: false,
|
|
695
|
+
defaultFromProp: propName ? { propName, mode: 'booleanFlag' } : undefined,
|
|
696
|
+
// 当无法通过结构匹配找到对应的 Boolean 属性时(如 van-pickerson 的 M 对应 multiple,
|
|
697
|
+
// 但 multiple 类型是 Boolean 而非 M),提供 false 作为兜底默认值,
|
|
698
|
+
// 确保条件类型(如 M extends true ? List<V> : V)能够正确解出。
|
|
699
|
+
defaultWhenUnresolved: propName ? undefined : nasl_concepts_1.TypeAnnotation.createLiteral(false),
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
else if (conditionalFlags.has(name)) {
|
|
703
|
+
const flagInfo = conditionalFlags.get(name);
|
|
704
|
+
const constraint = tp.constraints;
|
|
705
|
+
map.set(name, {
|
|
706
|
+
role: 'converterLiteral',
|
|
707
|
+
hasOwnDataSource: false,
|
|
708
|
+
defaultFromProp: flagInfo.propName
|
|
709
|
+
? { propName: flagInfo.propName, mode: 'converterLiteral' }
|
|
710
|
+
: undefined,
|
|
711
|
+
// 有对应 init 属性(如 type: DT)时,缺省应用整个字面量约束 union,而不是仅 extends 分支上的字面量(如 'date')
|
|
712
|
+
defaultWhenUnresolved: flagInfo.propName && constraint ? constraint : flagInfo.extendsType,
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
});
|
|
716
|
+
rawTypeParams.forEach((tp) => {
|
|
717
|
+
const name = tp.typeName;
|
|
718
|
+
if (!name || map.has(name))
|
|
719
|
+
return;
|
|
720
|
+
const usedInFieldOrSlot = rawInitProps.some((prop) => {
|
|
721
|
+
const ty = prop.typeAnnotation;
|
|
722
|
+
if (!ty || ty.typeKind !== 'function' || !ty.fnArgs?.length)
|
|
723
|
+
return false;
|
|
724
|
+
const firstArgName = ty.fnArgs[0]?.name;
|
|
725
|
+
if (firstArgName !== 'item' && firstArgName !== 'current')
|
|
726
|
+
return false;
|
|
727
|
+
if (isTyRef(ty.fnArgs[0]?.type, name))
|
|
728
|
+
return true;
|
|
729
|
+
const argTy = ty.fnArgs[0]?.type;
|
|
730
|
+
if (argTy?.typeArguments?.some((a) => isTyRef(a, name)))
|
|
731
|
+
return true;
|
|
732
|
+
return false;
|
|
733
|
+
});
|
|
734
|
+
if (usedInFieldOrSlot) {
|
|
735
|
+
map.set(name, {
|
|
736
|
+
role: 'dataItem',
|
|
737
|
+
hasOwnDataSource: false,
|
|
738
|
+
defaultWhenUnresolved: type_manager_1.naslStringTy,
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
});
|
|
742
|
+
rawTypeParams.forEach((tp) => {
|
|
743
|
+
const name = tp.typeName;
|
|
744
|
+
if (!name || map.has(name))
|
|
745
|
+
return;
|
|
746
|
+
const usedInSlotCurrentStruct = rawInitProps.some((prop) => {
|
|
747
|
+
const ty = prop.typeAnnotation;
|
|
748
|
+
if (!ty || ty.typeKind !== 'function' || !ty.fnArgs?.length)
|
|
749
|
+
return false;
|
|
750
|
+
const firstArgName = ty.fnArgs[0]?.name;
|
|
751
|
+
if (firstArgName !== 'item' && firstArgName !== 'current')
|
|
752
|
+
return false;
|
|
753
|
+
const argTy = ty.fnArgs[0]?.type;
|
|
754
|
+
if (argTy?.typeKind === 'anonymousStructure') {
|
|
755
|
+
return argTy.properties?.some((p) => isTyRef(p.typeAnnotation, name)) ?? false;
|
|
756
|
+
}
|
|
757
|
+
return false;
|
|
758
|
+
});
|
|
759
|
+
if (usedInSlotCurrentStruct) {
|
|
760
|
+
map.set(name, {
|
|
761
|
+
role: 'valueResult',
|
|
762
|
+
hasOwnDataSource: false,
|
|
763
|
+
defaultWhenUnresolved: type_manager_1.naslStringTy,
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
});
|
|
767
|
+
// converter: C 等:未出现在顶层 conditional 的 checkType 上,但 init 上有「属性类型即该类型参数」
|
|
768
|
+
rawTypeParams.forEach((tp) => {
|
|
769
|
+
const name = tp.typeName;
|
|
770
|
+
if (!name || map.has(name))
|
|
771
|
+
return;
|
|
772
|
+
if (!hasStringLiteralUnionConstraint(tp))
|
|
773
|
+
return;
|
|
774
|
+
const directProp = rawInitProps.find((p) => isTyRef(p.typeAnnotation, name));
|
|
775
|
+
if (!directProp)
|
|
776
|
+
return;
|
|
777
|
+
const constraint = tp.constraints;
|
|
778
|
+
map.set(name, {
|
|
779
|
+
role: 'converterLiteral',
|
|
780
|
+
hasOwnDataSource: false,
|
|
781
|
+
defaultFromProp: { propName: directProp.name, mode: 'converterLiteral' },
|
|
782
|
+
defaultWhenUnresolved: constraint ?? type_manager_1.naslStringTy,
|
|
783
|
+
});
|
|
784
|
+
});
|
|
785
|
+
return map;
|
|
395
786
|
}
|
|
787
|
+
exports.buildTypeParamMetaFromRawDef = buildTypeParamMetaFromRawDef;
|
|
396
788
|
//# sourceMappingURL=component-def-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-def-manager.js","sourceRoot":"","sources":["../../../src/typer/component-def-manager/component-def-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component-def-manager.js","sourceRoot":"","sources":["../../../src/typer/component-def-manager/component-def-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-call.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,EAOT,KAAK,EAGL,cAAc,EAEd,cAAc,EAEf,MAAM,qBAAqB,CAAC;AA8B7B,OAAO,EAAE,KAAK,UAAU,EAA6C,MAAM,kCAAkC,CAAC;AAI9G,OAAO,EACL,KAAK,MAAM,EACZ,MAAM,SAAS,CAAC;AA8DjB;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CA8B5F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,8BAwM9F;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CA6LrH;AAcD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CA6B1H;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,QAUpF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,GACtC,IAAI,CA0CN;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,YAAY,GAAG,SAAS,GAAG,cAAc,GAC5C,cAAc,CA0BhB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAwChG;
|
|
1
|
+
{"version":3,"file":"dispatch-call.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,EAOT,KAAK,EAGL,cAAc,EAEd,cAAc,EAEf,MAAM,qBAAqB,CAAC;AA8B7B,OAAO,EAAE,KAAK,UAAU,EAA6C,MAAM,kCAAkC,CAAC;AAI9G,OAAO,EACL,KAAK,MAAM,EACZ,MAAM,SAAS,CAAC;AA8DjB;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CA8B5F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,8BAwM9F;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CA6LrH;AAcD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CA6B1H;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,QAUpF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,GACtC,IAAI,CA0CN;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,YAAY,GAAG,SAAS,GAAG,cAAc,GAC5C,cAAc,CA0BhB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAwChG;AAsID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,kBA6BhG;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CA6IvH;AA2BD;;GAEG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,MAAM,SAAS,SAAS,cAAc,GAAG,SAAS,KAAG,cAAc,GAAG,SAe7G,CAAA"}
|
|
@@ -599,7 +599,13 @@ const handleOverloadedFunction = (env, nd, tgtTy, calleeName) => {
|
|
|
599
599
|
retTy = deferredRet;
|
|
600
600
|
}
|
|
601
601
|
env.unifier.unify(retTy, tgtTy);
|
|
602
|
-
const
|
|
602
|
+
const mockDef = {
|
|
603
|
+
params: resolved?.chosen?.fn?.fnArgs?.map((param) => ({
|
|
604
|
+
name: param.name || '',
|
|
605
|
+
optional: Boolean(param.optional)
|
|
606
|
+
})) || [],
|
|
607
|
+
};
|
|
608
|
+
const callInfo = (0, type_manager_1.createFunctionDef)(argTys, retTy, mockDef, undefined);
|
|
603
609
|
env.resolvedCallInfo.set(nd, callInfo);
|
|
604
610
|
const capturedDbSqlType = env.ctxCQC?.dataSourceSqlType;
|
|
605
611
|
// 剩下的需要后置处理
|