@lcap/nasl-language-server-core 4.3.0-beta.0 → 4.3.0-beta.3

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 (107) hide show
  1. package/out/checker.d.ts +6 -0
  2. package/out/checker.d.ts.map +1 -1
  3. package/out/checker.js +28 -7
  4. package/out/checker.js.map +1 -1
  5. package/out/index.d.ts +2 -1
  6. package/out/index.d.ts.map +1 -1
  7. package/out/index.js +3 -1
  8. package/out/index.js.map +1 -1
  9. package/out/reference-manager/build-q-name-def.d.ts.map +1 -1
  10. package/out/reference-manager/build-q-name-def.js +0 -9
  11. package/out/reference-manager/build-q-name-def.js.map +1 -1
  12. package/out/reference-manager/builtin-q-name.d.ts.map +1 -1
  13. package/out/reference-manager/builtin-q-name.js +1 -5
  14. package/out/reference-manager/builtin-q-name.js.map +1 -1
  15. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  16. package/out/reference-manager/reference-manager.js +4 -1
  17. package/out/reference-manager/reference-manager.js.map +1 -1
  18. package/out/reference-manager/symbol-type.d.ts +1 -1
  19. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  20. package/out/reference-manager/symbol-type.js.map +1 -1
  21. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  22. package/out/typer/collectGlobalDefs.js +3 -1
  23. package/out/typer/collectGlobalDefs.js.map +1 -1
  24. package/out/typer/component-def-manager/utils.d.ts.map +1 -1
  25. package/out/typer/component-def-manager/utils.js +4 -2
  26. package/out/typer/component-def-manager/utils.js.map +1 -1
  27. package/out/typer/dispatch-call.d.ts.map +1 -1
  28. package/out/typer/dispatch-call.js +177 -26
  29. package/out/typer/dispatch-call.js.map +1 -1
  30. package/out/typer/dispatch-def.d.ts.map +1 -1
  31. package/out/typer/dispatch-def.js +6 -2
  32. package/out/typer/dispatch-def.js.map +1 -1
  33. package/out/typer/dispatch-expr.d.ts +4 -2
  34. package/out/typer/dispatch-expr.d.ts.map +1 -1
  35. package/out/typer/dispatch-expr.js +111 -18
  36. package/out/typer/dispatch-expr.js.map +1 -1
  37. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  38. package/out/typer/dispatch-stmt.js +1 -0
  39. package/out/typer/dispatch-stmt.js.map +1 -1
  40. package/out/typer/dispatch-view.js +1 -1
  41. package/out/typer/dispatch-view.js.map +1 -1
  42. package/out/typer/get-export-interfaces-files.d.ts +8 -0
  43. package/out/typer/get-export-interfaces-files.d.ts.map +1 -0
  44. package/out/typer/get-export-interfaces-files.js +31 -0
  45. package/out/typer/get-export-interfaces-files.js.map +1 -0
  46. package/out/typer/get-origin-logic-files.d.ts +1 -1
  47. package/out/typer/get-origin-logic-files.js +1 -1
  48. package/out/typer/index.d.ts +2 -1
  49. package/out/typer/index.d.ts.map +1 -1
  50. package/out/typer/index.js +3 -1
  51. package/out/typer/index.js.map +1 -1
  52. package/out/typer/oql-checker/chain-call-transformer.d.ts +21 -0
  53. package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -0
  54. package/out/typer/oql-checker/chain-call-transformer.js +150 -0
  55. package/out/typer/oql-checker/chain-call-transformer.js.map +1 -0
  56. package/out/typer/oql-checker/ts-parser.d.ts +46 -0
  57. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -0
  58. package/out/typer/oql-checker/ts-parser.js +706 -0
  59. package/out/typer/oql-checker/ts-parser.js.map +1 -0
  60. package/out/typer/oql-checker/ts-printer.d.ts +3 -0
  61. package/out/typer/oql-checker/ts-printer.d.ts.map +1 -0
  62. package/out/typer/oql-checker/ts-printer.js +37 -0
  63. package/out/typer/oql-checker/ts-printer.js.map +1 -0
  64. package/out/typer/overload-helper.d.ts +17 -6
  65. package/out/typer/overload-helper.d.ts.map +1 -1
  66. package/out/typer/overload-helper.js +393 -76
  67. package/out/typer/overload-helper.js.map +1 -1
  68. package/out/typer/subster.d.ts.map +1 -1
  69. package/out/typer/subster.js +70 -2
  70. package/out/typer/subster.js.map +1 -1
  71. package/out/typer/type-manager.js +4 -4
  72. package/out/typer/type-manager.js.map +1 -1
  73. package/out/typer/type-predicate.d.ts +9 -0
  74. package/out/typer/type-predicate.d.ts.map +1 -1
  75. package/out/typer/type-predicate.js +14 -1
  76. package/out/typer/type-predicate.js.map +1 -1
  77. package/out/typer/typer.d.ts +13 -3
  78. package/out/typer/typer.d.ts.map +1 -1
  79. package/out/typer/typer.js +21 -5
  80. package/out/typer/typer.js.map +1 -1
  81. package/out/typer/unifier.d.ts.map +1 -1
  82. package/out/typer/unifier.js +4 -5
  83. package/out/typer/unifier.js.map +1 -1
  84. package/out/utils/debug.d.ts +6 -0
  85. package/out/utils/debug.d.ts.map +1 -0
  86. package/out/utils/debug.js +62 -0
  87. package/out/utils/debug.js.map +1 -0
  88. package/out/utils/file-node-cache.d.ts.map +1 -1
  89. package/out/utils/file-node-cache.js +4 -1
  90. package/out/utils/file-node-cache.js.map +1 -1
  91. package/out/utils/internal-tuple.d.ts +2 -0
  92. package/out/utils/internal-tuple.d.ts.map +1 -0
  93. package/out/utils/internal-tuple.js +29 -0
  94. package/out/utils/internal-tuple.js.map +1 -0
  95. package/out/utils/parseTsClassType.d.ts +1 -5
  96. package/out/utils/parseTsClassType.d.ts.map +1 -1
  97. package/out/utils/parseTsClassType.js +103 -66
  98. package/out/utils/parseTsClassType.js.map +1 -1
  99. package/out/utils/type-operator.d.ts +29 -1
  100. package/out/utils/type-operator.d.ts.map +1 -1
  101. package/out/utils/type-operator.js +181 -1
  102. package/out/utils/type-operator.js.map +1 -1
  103. package/out/utils/type-operators/CheckUniqueKeys.d.ts +15 -0
  104. package/out/utils/type-operators/CheckUniqueKeys.d.ts.map +1 -0
  105. package/out/utils/type-operators/CheckUniqueKeys.js +86 -0
  106. package/out/utils/type-operators/CheckUniqueKeys.js.map +1 -0
  107. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"file-node-cache.js","sourceRoot":"","sources":["../../src/utils/file-node-cache.ts"],"names":[],"mappings":";;;AACA,yDAAyE;AAEzE,kBAAkB;AAClB,IAAI,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD;;;;GAIG;AACH,SAAgB,mCAAmC,CAAC,EAAc;IAChE,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAA,oCAA0B,EAAC,EAAE,CAAC,CAAC;QAC5C,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAPD,kFAOC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,kCAAkC;IAClC,qBAAqB;IACrB,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AACrD,CAAC;AAJD,gDAIC"}
1
+ {"version":3,"file":"file-node-cache.js","sourceRoot":"","sources":["../../src/utils/file-node-cache.ts"],"names":[],"mappings":";;;AACA,yDAAyE;AAEzE,kBAAkB;AAClB,IAAI,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD;;;;GAIG;AACH,SAAgB,mCAAmC,CAAC,EAAc;IAChE,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAA,oCAA0B,EAAC,EAAE,CAAC,CAAC;QAC5C,YAAY;QACZ,IAAI,EAAE,EAAE,CAAC;YACP,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAVD,kFAUC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,kCAAkC;IAClC,qBAAqB;IACrB,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AACrD,CAAC;AAJD,gDAIC"}
@@ -0,0 +1,2 @@
1
+ export declare const createInternalArrayCode: (length: number) => string;
2
+ //# sourceMappingURL=internal-tuple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-tuple.d.ts","sourceRoot":"","sources":["../../src/utils/internal-tuple.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,uBAAuB,WAAY,MAAM,KAAG,MAAkC,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createInternalArrayCode = void 0;
4
+ const toType = (i) => `T${i}`;
5
+ const toVariable = (i) => `t${i}: T${i}`;
6
+ const fillBy = (callback, length) => {
7
+ const result = [];
8
+ for (let i = 0; i < length; i += 1) {
9
+ result.push(callback(i));
10
+ }
11
+ return result;
12
+ };
13
+ const joinBy = (callback, length, seperator = '\n') => {
14
+ const result = fillBy(callback, length);
15
+ return result.join(seperator);
16
+ };
17
+ const join = (index) => {
18
+ const types = joinBy(toType, index, ',');
19
+ const variables = joinBy(toVariable, index, ',');
20
+ const name = `function $InternalTuple${index}`;
21
+ const tuple = `nasl.core.InternalTupleType`;
22
+ if (index === 0) {
23
+ return `export ${name}(): ${tuple}<undefined>;`;
24
+ }
25
+ return `export ${name}<${types}>(${variables}): ${tuple}<${types}>;`;
26
+ };
27
+ const createInternalArrayCode = (length) => joinBy(join, length + 1);
28
+ exports.createInternalArrayCode = createInternalArrayCode;
29
+ //# sourceMappingURL=internal-tuple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-tuple.js","sourceRoot":"","sources":["../../src/utils/internal-tuple.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAa,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,MAAM,UAAU,GAAa,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAEnD,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAE,MAAc,EAAY,EAAE;IAC9D,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAE,MAAc,EAAE,YAAoB,IAAI,EAAU,EAAE;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,EAAE;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,0BAA0B,KAAK,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,6BAA6B,CAAC;IAE5C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,UAAU,IAAI,OAAO,KAAK,cAAc,CAAA;IACjD,CAAC;IAED,OAAO,UAAU,IAAI,IAAI,KAAK,KAAK,SAAS,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;AACvE,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AAA/E,QAAA,uBAAuB,2BAAwD"}
@@ -19,8 +19,7 @@ export declare const parseTsClassesToNaslStructsAndLogics: (tsNode: ts.Node) =>
19
19
  Array<{
20
20
  name: string;
21
21
  typeAnnotation: TypeAnnotation;
22
- }>,
23
- Map<string, Array<TypeAnnotation>>
22
+ }>
24
23
  ];
25
24
  export declare const simpleCreateFnTyFromLogic: (nd: Logic) => TypeAnnotation;
26
25
  export declare const parseTsTypeWithoutNsp: (prevTps: Array<string>) => (tsTypeNode: ts.TypeNode | ts.TypeParameterDeclaration | undefined) => TypeAnnotation | undefined;
@@ -28,7 +27,4 @@ export declare function tryParsePrimitiveTyStr(ty: string, tyNd?: ts.TypeNode):
28
27
  export declare const createLogicFromTsNode: (nsp: string, tsNode: ts.FunctionDeclaration) => Logic;
29
28
  export declare const getTypeParamsFromTsNode: (prevTps: Array<string>) => (node: ts.FunctionDeclaration | ts.FunctionTypeNode | ts.ClassDeclaration | ts.MethodDeclaration) => Array<TypeParam>;
30
29
  export declare const enumBuiltinFns: string[];
31
- export declare const overloadedBuiltinFns: string[];
32
- export declare const overloadedSqlFns: string[];
33
- export declare const overloadedFns: string[];
34
30
  //# sourceMappingURL=parseTsClassType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAiB,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqB9H;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,eAKD,MAAM,MAAM,CAAC,kBAGV,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAsNnB,CAAC;AAaJ;;GAEG;AACH,eAAO,MAAM,0BAA0B,WAAY,OAAO,gBA4EzD,CAAC;AAOF,eAAO,MAAM,oCAAoC,WAAY,OAAO,KAAG;IAAC,MAAM,SAAS,CAAC;IAAE,MAAM,KAAK,CAAC;IAAE,MAAM,QAAQ,CAAC;IAAE,MAAM;QAC7H,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;IAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC,CAAC;CAyJrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAQ,KAAK,mBAYlD,CAAC;AAIF,eAAO,MAAM,qBAAqB,YA3erB,MAAM,MAAM,CAAC,kBAGV,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAue8B,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CAiCjG;AAgCD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,GAAG,mBAAmB,KAAG,KAgDnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACxB,MAAM,MAAM,CAAC,YAChB,GAAG,mBAAmB,GAAG,GAAG,gBAAgB,GAAG,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,KAAG,MAAM,SAAS,CAYjH,CAAC;AAIJ,eAAO,MAAM,cAAc,UAAwE,CAAC;AACpG,eAAO,MAAM,oBAAoB,UAAwB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,UAA0D,CAAC;AACxF,eAAO,MAAM,aAAa,UAAiD,CAAC"}
1
+ {"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAiB,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqB9H;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,eAKC,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAoQnB,CAAC;AAWR;;GAEG;AACH,eAAO,MAAM,0BAA0B,WAAY,OAAO,gBAsFzD,CAAC;AAOF,eAAO,MAAM,oCAAoC,WAAY,OAAO,KAAG;IAAC,MAAM,SAAS,CAAC;IAAE,MAAM,KAAK,CAAC;IAAE,MAAM,QAAQ,CAAC;IAAE,MAAM;QAC7H,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;CAqJD,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAQ,KAAK,mBAYlD,CAAC;AAIF,eAAO,MAAM,qBAAqB,YA7hBnB,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAyhB0B,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CAmCjG;AAwBD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,GAAG,mBAAmB,KAAG,KAgDnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACxB,MAAM,MAAM,CAAC,YACd,GAAG,mBAAmB,GAAG,GAAG,gBAAgB,GAAG,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,KAAG,MAAM,SAAS,CAYjH,CAAC;AAIN,eAAO,MAAM,cAAc,UAAwE,CAAC"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.overloadedFns = exports.overloadedSqlFns = exports.overloadedBuiltinFns = exports.enumBuiltinFns = exports.getTypeParamsFromTsNode = exports.createLogicFromTsNode = exports.tryParsePrimitiveTyStr = exports.parseTsTypeWithoutNsp = exports.simpleCreateFnTyFromLogic = exports.parseTsClassesToNaslStructsAndLogics = exports.parseTsClassesToNaslStruct = exports.parseTsType = void 0;
26
+ exports.enumBuiltinFns = exports.getTypeParamsFromTsNode = exports.createLogicFromTsNode = exports.tryParsePrimitiveTyStr = exports.parseTsTypeWithoutNsp = exports.simpleCreateFnTyFromLogic = exports.parseTsClassesToNaslStructsAndLogics = exports.parseTsClassesToNaslStruct = exports.parseTsType = void 0;
27
27
  const ts = __importStar(require("typescript"));
28
28
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
29
29
  const fp_macros_1 = require("../utils/fp-macros");
@@ -111,7 +111,7 @@ prevTps) => (tsTypeNode) => {
111
111
  ty.indexType = indexType;
112
112
  return ty;
113
113
  }
114
- // (item : T) => R
114
+ // <S>(item : T) => R
115
115
  if (ts.isFunctionTypeNode(tsTypeNode)) {
116
116
  // typeParameters
117
117
  const newTyParams = (0, exports.getTypeParamsFromTsNode)(prevTps)(tsTypeNode).filter(types_1.isNotNil);
@@ -119,13 +119,16 @@ prevTps) => (tsTypeNode) => {
119
119
  const allTyParamNames = prevTps.concat(newTyParamNames);
120
120
  const paramTys = tsTypeNode.parameters
121
121
  .map((param) => {
122
+ const spread = param.dotDotDotToken !== undefined;
123
+ const paramName = param.name.getText();
122
124
  if ((0, types_1.isNotNil)(param.type)) {
123
125
  const pType = parseTsTypeWithFixedNsp(allTyParamNames)(param.type);
124
- const paramName = param.name.getText();
125
- return { type: pType ?? type_manager_1.naslAnyTy, name: paramName };
126
+ return { type: pType ?? type_manager_1.naslAnyTy, name: paramName, spread };
126
127
  }
127
- })
128
- .filter(types_1.isNotNil);
128
+ else {
129
+ return { type: type_manager_1.naslAnyTy, name: paramName, spread };
130
+ }
131
+ });
129
132
  const retTy = parseTsTypeWithFixedNsp(allTyParamNames)(tsTypeNode.type);
130
133
  if (!retTy) {
131
134
  throw new Error('parseTsType failed for retTy');
@@ -193,6 +196,20 @@ prevTps) => (tsTypeNode) => {
193
196
  }
194
197
  // T<K, V>
195
198
  if (ts.isTypeReferenceNode(tsTypeNode)) {
199
+ // 首先检查是否为类型参数(即使不在prevTps中,也可能是当前函数的类型参数)
200
+ const typeName = ts.isQualifiedName(tsTypeNode.typeName) ?
201
+ tsTypeNode.typeName.right.getText() :
202
+ tsTypeNode.typeName.getText();
203
+ // 如果是简单标识符且没有类型参数,检查是否为类型参数
204
+ if (!ts.isQualifiedName(tsTypeNode.typeName) && !tsTypeNode.typeArguments) {
205
+ // 只有在明确的类型参数上下文中才识别为类型参数
206
+ if (prevTps.includes(typeName)) {
207
+ return nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
208
+ typeName: typeName,
209
+ typeKind: 'typeParam',
210
+ });
211
+ }
212
+ }
196
213
  const naslTy = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
197
214
  typeKind: 'reference',
198
215
  });
@@ -202,7 +219,7 @@ prevTps) => (tsTypeNode) => {
202
219
  naslTy.typeNamespace = tsTypeNode.typeName.left.getText();
203
220
  }
204
221
  else {
205
- naslTy.typeName = tsTypeNode.typeName.getText();
222
+ naslTy.typeName = typeName;
206
223
  naslTy.typeNamespace = nsp;
207
224
  }
208
225
  if (tsTypeNode.typeArguments) {
@@ -241,6 +258,35 @@ prevTps) => (tsTypeNode) => {
241
258
  const elemTy = parseTsTypeWithFixedNsp(prevTps)(tsTypeNode.elementType);
242
259
  return (0, type_manager_1.createListTyAnn)(elemTy ?? type_manager_1.naslAnyTy);
243
260
  }
261
+ // 元组类型 [T, U, V]
262
+ if (ts.isTupleTypeNode(tsTypeNode)) {
263
+ const elementTypes = tsTypeNode.elements.map(element => {
264
+ // 处理可选元素和剩余元素
265
+ if (ts.isOptionalTypeNode(element)) {
266
+ // 忽略optional标记
267
+ return parseTsTypeWithFixedNsp(prevTps)(element.type);
268
+ }
269
+ else if (ts.isRestTypeNode(element)) {
270
+ // 剩余元素(...)解释为 InternalSpreadTupleType
271
+ const innerType = parseTsTypeWithFixedNsp(prevTps)(element.type);
272
+ return nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
273
+ typeName: 'InternalSpreadTupleType',
274
+ typeNamespace: 'nasl.core',
275
+ typeKind: 'generic',
276
+ typeArguments: innerType ? [innerType] : [],
277
+ });
278
+ }
279
+ else {
280
+ return parseTsTypeWithFixedNsp(prevTps)(element);
281
+ }
282
+ }).filter(types_1.isNotNil);
283
+ return nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
284
+ typeName: 'InternalTupleType',
285
+ typeNamespace: 'nasl.core',
286
+ typeKind: 'generic',
287
+ typeArguments: elementTypes,
288
+ });
289
+ }
244
290
  // FIXME wudengke 目前没有设计如何将never嵌入到nasl的类型系统中。可以先忽略
245
291
  // console.debug(`parseTsType 无法解析 ${tsTypeNode.getText()}`);
246
292
  return undefined;
@@ -248,11 +294,9 @@ prevTps) => (tsTypeNode) => {
248
294
  exports.parseTsType = parseTsType;
249
295
  // 获取 nasl.xxx 的命名空间。没有办法,找不到任何可以用的 ts.isNamespaceDeclaration 或者 syntax kind
250
296
  const getNamespace = (str) => {
251
- if (str.startsWith('declare namespace ')) {
252
- let res = str.split('declare namespace ')[1];
253
- let res1 = res.split(' {')[0];
254
- return res1;
255
- }
297
+ const re = /declare\s+namespace\s+([^\s{;]+)/;
298
+ const m = re.exec(str);
299
+ return m ? m[1] : undefined;
256
300
  };
257
301
  // Note: using side effect to push result to the res array due to Ts only provides forEachChild but not mapEachChild method
258
302
  /**
@@ -294,25 +338,33 @@ const parseTsClassesToNaslStruct = (tsNode) => {
294
338
  }
295
339
  else if (ts.isMethodDeclaration(member) && member.name && ts.isIdentifier(member.name)) {
296
340
  const propertyName = member.name.getText();
341
+ // 先收集方法的类型参数
342
+ const typeParams = (0, exports.getTypeParamsFromTsNode)(tyParamInScope)(member) ?? [];
343
+ const methodTypeParamNames = typeParams.map(tp => tp.name).filter(types_1.isNotNil);
344
+ const allTypeParamNames = tyParamInScope.concat(methodTypeParamNames);
297
345
  const paramTys = member.parameters.map((param) => {
298
346
  (0, assertion_1.assertTrusy)(param.type);
299
- const pType = parseWithNsp(tyParamInScope)(param.type);
347
+ const pType = parseWithNsp(allTypeParamNames)(param.type);
300
348
  (0, assertion_1.assertTrusy)(pType);
301
- return { type: pType, name: param.name.getText() };
349
+ // 检查是否为spread参数
350
+ const isSpread = param.dotDotDotToken !== undefined;
351
+ return { type: pType, name: param.name.getText(), spread: isSpread };
302
352
  });
303
- const typeParams = member.typeParameters?.map((param) => {
304
- const pType = parseWithNsp(tyParamInScope)(param);
305
- (0, assertion_1.assertTrusy)(pType);
306
- return pType;
307
- }) ?? [];
308
353
  (0, assertion_1.assertTrusy)(member.type);
309
- const retTy = parseWithNsp(tyParamInScope)(member.type);
354
+ const retTy = parseWithNsp(allTypeParamNames)(member.type);
310
355
  (0, assertion_1.assertTrusy)(retTy);
311
356
  const funcTy = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
312
357
  typeKind: 'function',
313
- typeArguments: paramTys.map(x => x.type),
358
+ typeArguments: paramTys.map((x) => {
359
+ // 将spread属性传递给typeArguments中的类型
360
+ const argType = x.type;
361
+ if (x.spread) {
362
+ argType.spread = true;
363
+ }
364
+ return argType;
365
+ }),
314
366
  fnArgs: paramTys,
315
- typeParams,
367
+ typeParams: typeParams.map(type_manager_1.tyParam2TyAnn),
316
368
  returnType: [retTy],
317
369
  });
318
370
  struct.properties.push(nasl_concepts_1.StructureProperty.createProtoTypeOnly({
@@ -332,6 +384,8 @@ exports.parseTsClassesToNaslStruct = parseTsClassesToNaslStruct;
332
384
  // Note: using side effect to push result to the res array due to Ts only provides forEachChild but not mapEachChild method
333
385
  // 最长调用的入口函数
334
386
  const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
387
+ // Register overload signatures for later resolution
388
+ // Note: import placed at top-level of module
335
389
  const nsp = getNamespace(tsNode.getText());
336
390
  const parseWithNsp = (0, exports.parseTsType)(nsp);
337
391
  const resS = [];
@@ -339,9 +393,8 @@ const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
339
393
  const resV = [];
340
394
  const resA = [];
341
395
  // Build overload parameter types cache during parsing
342
- const overloadCache = new Map();
343
396
  __parse(tsNode);
344
- return [resS, resL, resV, resA, overloadCache];
397
+ return [resS, resL, resV, resA];
345
398
  function __parse(tsNode) {
346
399
  if (ts.isClassDeclaration(tsNode) && tsNode.name) {
347
400
  const structNsp = `${nsp}.${tsNode.name.getText()}`;
@@ -371,19 +424,31 @@ const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
371
424
  } // 除了 UI 好像不太有 method decl,先不动了
372
425
  else if (ts.isMethodDeclaration(member) && member.name && ts.isIdentifier(member.name)) {
373
426
  const propertyName = member.name.getText();
427
+ // 先收集方法的类型参数
428
+ const typeParams = (0, exports.getTypeParamsFromTsNode)(tyParamInScope)(member) ?? [];
429
+ const methodTypeParamNames = typeParams.map(tp => tp.name).filter(types_1.isNotNil);
430
+ const allTypeParamNames = tyParamInScope.concat(methodTypeParamNames);
374
431
  const paramTys = member.parameters.map((param) => {
375
432
  (0, assertion_1.assertTrusy)(param.type);
376
- const pType = parseWithNsp(tyParamInScope)(param.type);
433
+ const pType = parseWithNsp(allTypeParamNames)(param.type);
377
434
  (0, assertion_1.assertTrusy)(pType);
378
- return { type: pType, name: param.name.getText() };
435
+ // 检查是否为spread参数
436
+ const isSpread = param.dotDotDotToken !== undefined;
437
+ return { type: pType, name: param.name.getText(), spread: isSpread };
379
438
  });
380
- const typeParams = (0, exports.getTypeParamsFromTsNode)(tyParamInScope)(member) ?? [];
381
439
  (0, assertion_1.assertTrusy)(member.type);
382
- const retTy = parseWithNsp(tyParamInScope)(member.type);
440
+ const retTy = parseWithNsp(allTypeParamNames)(member.type);
383
441
  (0, assertion_1.assertTrusy)(retTy);
384
442
  const funcTy = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
385
443
  typeKind: 'function',
386
- typeArguments: paramTys.map((x) => x.type),
444
+ typeArguments: paramTys.map((x) => {
445
+ // 将spread属性传递给typeArguments中的类型
446
+ const argType = x.type;
447
+ if (x.spread) {
448
+ argType.spread = true;
449
+ }
450
+ return argType;
451
+ }),
387
452
  fnArgs: paramTys,
388
453
  typeParams: typeParams.map(type_manager_1.tyParam2TyAnn),
389
454
  returnType: [retTy],
@@ -404,31 +469,11 @@ const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
404
469
  }
405
470
  const lgc = (0, exports.createLogicFromTsNode)(nsp ?? '', tsNode);
406
471
  let funcTy = (0, exports.simpleCreateFnTyFromLogic)(lgc);
407
- if (exports.overloadedFns.includes(funcName)) {
408
- if (!funcTy.typeArguments) {
409
- throw new Error('Cannot get type arguments of Logic ' + funcName);
410
- }
411
- // Build overload cache while processing overloaded functions
412
- const paramIdx = (0, overload_helper_1.getOvParamIdx)(funcName);
413
- if (paramIdx !== undefined && funcTy.typeArguments[paramIdx]) {
414
- const cacheKey = `${nsp}.${funcName}`;
415
- if (!overloadCache.has(cacheKey)) {
416
- overloadCache.set(cacheKey, []);
417
- }
418
- const paramTypes = overloadCache.get(cacheKey);
419
- const paramType = funcTy.typeArguments[paramIdx];
420
- // Avoid duplicates by checking if type already exists
421
- const exists = paramTypes.some(existingType => existingType.typeKind === paramType.typeKind &&
422
- existingType.typeName === paramType.typeName &&
423
- existingType.literal === paramType.literal);
424
- if (!exists) {
425
- paramTypes.push(paramType);
426
- }
427
- }
428
- funcName = (0, overload_helper_1.mangleOvFnName)(funcName, funcTy.typeArguments[(0, overload_helper_1.getOvParamIdx)(funcName)]);
429
- }
472
+ // Normalize special/builtin signatures (e.g., Convert returns T instead of <T>() => T) before registering
430
473
  funcTy = reshapeBuiltinTys(funcName, funcTy);
431
- funcName = `${nsp}.${funcName}`; // 已经加了 namespace
474
+ // Register this signature under the base (unmangled) name for overload resolution
475
+ (0, overload_helper_1.registerOverloadSignature)(nsp ?? '', funcName, funcTy.typeArguments ?? [], funcTy.returnType?.[0] ?? type_manager_1.naslVoidTy, funcTy.typeParams ?? []);
476
+ funcName = `${nsp}.${funcName}`; // 已经加了 namespace(base name only for overloaded functions)
432
477
  // 暂时这样挂上去
433
478
  lgc.__TypeAnnotation = funcTy;
434
479
  lgc.name = funcName;
@@ -467,7 +512,7 @@ const simpleCreateFnTyFromLogic = (nd) => {
467
512
  typeKind: 'function',
468
513
  typeArguments: nd.params.map((p) => p.typeAnnotation ?? type_manager_1.naslAnyTy),
469
514
  fnArgs: nd.params.map((p) => {
470
- return { type: p.typeAnnotation ?? type_manager_1.naslAnyTy, name: p.name };
515
+ return { type: p.typeAnnotation ?? type_manager_1.naslAnyTy, name: p.name, spread: p.spread };
471
516
  }),
472
517
  typeParams: nd.typeParams?.map(type_manager_1.tyParam2TyAnn),
473
518
  returnType: nd.returns[0] ? [nd.returns[0].typeAnnotation ?? type_manager_1.naslAnyTy] : [],
@@ -512,21 +557,16 @@ function tryParsePrimitiveTyStr(ty, tyNd) {
512
557
  else if (ty === 'boolean') {
513
558
  return type_manager_1.naslBooleanTy;
514
559
  }
560
+ else if (ty === 'number') {
561
+ return (0, type_manager_1.createPrimitiveTyAnn)('Decimal');
562
+ }
515
563
  return undefined;
516
564
  }
517
565
  exports.tryParsePrimitiveTyStr = tryParsePrimitiveTyStr;
518
566
  // 对奇葩签名进行重整形
519
567
  function reshapeBuiltinTys(fnName, ty) {
520
568
  switch (fnName) {
521
- case 'ConvertLong':
522
- case 'ConvertDecimal':
523
- case 'ConvertBinary':
524
- case 'ConvertString':
525
- case 'ConvertDate':
526
- case 'ConvertTime':
527
- case 'ConvertDateTime':
528
- case 'ConvertBoolean':
529
- case 'Convertany': // Any any null object Object 都转成了 any
569
+ case 'Convert':
530
570
  case 'FromString': {
531
571
  // Convert、FromString 调用的时候是 Convert<T>(arg) 形式,所以要给签名解析出来的结果 Convert(): <T>(arg: string) => T 再改改
532
572
  ty.typeParams = ty.returnType[0].typeParams;
@@ -601,7 +641,4 @@ const getTypeParamsFromTsNode = (prevTps) => (node) => {
601
641
  exports.getTypeParamsFromTsNode = getTypeParamsFromTsNode;
602
642
  // 特殊处理一下好了,省得更麻烦
603
643
  exports.enumBuiltinFns = ['EnumToList', 'EnumItemToText', 'ToEnumItem', 'EnumItemToStructure'];
604
- exports.overloadedBuiltinFns = ['Convert', 'Length'];
605
- exports.overloadedSqlFns = ['CAST', 'MAX', 'MIN', 'SUM', 'LAST_DAY', 'ADD_MONTHS'];
606
- exports.overloadedFns = [...exports.overloadedBuiltinFns, ...exports.overloadedSqlFns];
607
644
  //# sourceMappingURL=parseTsClassType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseTsClassType.js","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,uDAA8H;AAC9H,kDAA6D;AAE7D,wDAS+B;AAC/B,mCAAmC;AAEnC,2CAA0C;AAC1C,kEAA2D;AAC3D,8DAAyE;AAGzE,8BAA8B;AAC9B;;;;;;GAMG;AACI,MAAM,WAAW;AACtB,qEAAqE;AACrE,CAAC,GAAW,EAAE,EAAE,CAChB;AACE;;GAEG;AACH,OAAsB,EACtB,EAAE,CACJ,CACE,UAAiE,EACrC,EAAE;IAC9B,MAAM,uBAAuB,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,sBAAsB,CAAC;IAC3C,MAAM,UAAU,GAAG,qBAAqB,CAAC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,+BAA+B;IAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC3C,OAAO,8BAAc,CAAC,mBAAmB,CAAC;YACxC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE;YAC9B,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,IAAI,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,IACE,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YACrD,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAC1D,CAAC;YACD,OAAO,wBAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,GAAG,8BAAc,CAAC,mBAAmB,CAAC;YAC7C,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,IAAI,EAAE,CAAC,+BAA+B,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YACD,gDAAgD;QAClD,CAAC;aAAM,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1C,CAAC;aAAM,IAAI,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1C,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAClE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,IAAI,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzE,IAAA,uBAAW,EAAC,UAAU,CAAC,CAAC;QACxB,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;QACvB,0BAA0B;QAC1B,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;QACrC,MAAM,EAAE,GAAG,8BAAc,CAAC,mBAAmB,CAAC;YAC5C,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;QAC3B,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;IAClB,IAAI,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,iBAAiB;QAEjB,MAAM,WAAW,GAAG,IAAA,+BAAuB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;QAClF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU;aACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO,EAAC,IAAI,EAAE,KAAK,IAAI,wBAAS,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,gBAAQ,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,GAAG,8BAAc,CAAC,mBAAmB,CAAC;YAC9C,QAAQ,EAAE,UAAU;YACpB,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC;YACtC,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,4BAAa,CAAC;YAC1C,UAAU,EAAE,CAAC,KAAK,CAAC;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,IAAI,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;aAC/B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5D,uBAAuB;gBACvB,IAAI,KAAK,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,iCAAiB,CAAC,mBAAmB,CAAC;oBAC3C,IAAI,EAAE,KAAK;oBACX,cAAc,EAAE,KAAK,IAAI,SAAS;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,gBAAQ,CAAC,CAAC;QACpB,OAAO,8BAAc,CAAC,mBAAmB,CAAC;YACxC,QAAQ,EAAE,oBAAoB;YAC9B,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;IACL,CAAC;IAED,EAAE;IACF,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;QACpF,OAAO,8BAAc,CAAC,mBAAmB,CAAC;YACxC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,aAAa,EAAE,GAAG;SACnB,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,IAAI,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACtF,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;QAC1F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QACpF,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACtF,MAAM,EAAE,GAAG,8BAAc,CAAC,mBAAmB,CAAC;YAC5C,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC;QACH,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;QACzB,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC;QAC7B,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACvB,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,UAAyB,CAAC,CAAC;IACrF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU;IACV,IAAI,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,8BAAc,CAAC,mBAAmB,CAAC;YAChD,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,2BAA2B;YAC3B,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACtD,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC;QAC7B,CAAC;QACD,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;YACvG,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,iCAAiC;YACjC,OAAO,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,wBAAS,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACtE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,aAAa,GAAG,iBAAiB,CAAC;QAC3C,CAAC;QACD,UAAU;QACV,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;YACzB,MAAM,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACzC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,oFAAoF;QACpF,+BAA+B;QAC/B,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,aAAa,GAAG,iCAAa,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,+EAA+E;IAC/E,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxE,OAAO,IAAA,8BAAe,EAAC,MAAM,IAAI,wBAAS,CAAC,CAAC;IAC9C,CAAC;IAED,mDAAmD;IACnD,6DAA6D;IAE7D,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAjOS,QAAA,WAAW,eAiOpB;AAGJ,4EAA4E;AAC5E,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAA;AAED,2HAA2H;AAC3H;;GAEG;AACI,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,GAAI,CAAC,CAAC;IACvC,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC;IAEX,SAAS,OAAO,CAAC,MAAe;QAC9B,IAAI,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,yBAAS,CAAC,mBAAmB,CAAC;gBAC3C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC3B,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc;gBACvC,CAAC,CAAC,IAAA,+BAAuB,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9D,qBAAqB;YACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChC,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;gBACzB,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3C,IAAI,MAAM,GAAG,SAAS,CAAC;oBACvB,mDAAmD;oBAEnD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;oBAClE,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,wBAAS,CAAC;oBACrB,CAAC;oBAED,MAAM,CAAC,UAAU,CAAC,IAAI,CACpB,iCAAiB,CAAC,mBAAmB,CAAC;wBACpC,IAAI,EAAE,YAAY;wBAClB,cAAc,EAAE,MAAM;qBACvB,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC/C,IAAA,uBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACxB,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACvD,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;wBACnB,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,MAAM,UAAU,GACd,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBACnC,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;wBAClD,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;wBACnB,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,IAAI,EAAE,CAAC;oBACX,IAAA,uBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxD,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAG,8BAAc,CAAC,mBAAmB,CAAC;wBAChD,QAAQ,EAAE,UAAU;wBACpB,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC;wBACtC,MAAM,EAAE,QAAQ;wBAChB,UAAU;wBACV,UAAU,EAAE,CAAC,KAAK,CAAC;qBACpB,CAAC,CAAC;oBAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CACpB,iCAAiB,CAAC,mBAAmB,CAAC;wBACpC,IAAI,EAAE,YAAY;wBAClB,cAAc,EAAE,MAAM;qBACvB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AA5EW,QAAA,0BAA0B,8BA4ErC;AAGF,OAAO;AACP,iDAAiD;AACjD,2HAA2H;AAC3H,YAAY;AACL,MAAM,oCAAoC,GAAG,CAAC,MAAe,EAG5B,EAAE;IACxC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,GAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,MAAM,IAAI,GAGL,EAAE,CAAC;IACR,sDAAsD;IACtD,MAAM,aAAa,GAAuC,IAAI,GAAG,EAAE,CAAC;IAEpE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAE/C,SAAS,OAAO,CAAC,MAAe;QAC9B,IAAI,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,yBAAS,CAAC,mBAAmB,CAAC;gBAC3C,IAAI,EAAE,SAAS,EAAE,iBAAiB;gBAClC,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9D,qBAAqB;YACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChC,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;gBACzB,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3C,IAAI,MAAM,GAAG,SAAS,CAAC;oBACvB,mDAAmD;oBAEnD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;oBAClE,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,wBAAS,CAAC;oBACrB,CAAC;oBAED,MAAM,CAAC,UAAU,CAAC,IAAI,CACpB,iCAAiB,CAAC,mBAAmB,CAAC;wBACpC,IAAI,EAAE,YAAY;wBAClB,cAAc,EAAE,MAAM;qBACvB,CAAC,CACH,CAAC;gBACJ,CAAC,CAAC,+BAA+B;qBAC5B,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC/C,IAAA,uBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACxB,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACvD,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;wBACnB,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,MAAM,UAAU,GACd,IAAA,+BAAuB,EAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxD,IAAA,uBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxD,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAG,8BAAc,CAAC,mBAAmB,CAAC;wBAChD,QAAQ,EAAE,UAAU;wBACpB,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC1C,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,4BAAa,CAAC;wBACzC,UAAU,EAAE,CAAC,KAAK,CAAC;qBACpB,CAAC,CAAC;oBAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CACpB,iCAAiB,CAAC,mBAAmB,CAAC;wBACpC,IAAI,EAAE,YAAY;wBAClB,cAAc,EAAE,MAAM;qBACvB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,GAAG,IAAA,6BAAc,EAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe;YACjF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,GAAG,IAAA,6BAAqB,EAAC,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,MAAM,GAAG,IAAA,iCAAyB,EAAC,GAAG,CAAC,CAAC;YAE5C,IAAI,qBAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,QAAQ,CAAC,CAAC;gBACpE,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,IAAA,+BAAa,EAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7D,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAClC,CAAC;oBACD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAEjD,sDAAsD;oBACtD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAC5C,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;wBAC5C,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;wBAC5C,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAC3C,CAAC;oBACF,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAED,QAAQ,GAAG,IAAA,gCAAc,EAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,IAAA,+BAAa,EAAC,QAAQ,CAAE,CAAE,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,GAAG,iBAAiB,CAAC,QAAS,EAAE,MAAM,CAAC,CAAC;YAC9C,QAAQ,GAAG,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,iBAAiB;YAClD,UAAU;YACV,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAC9B,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEpB,2DAA2D;YAC3D,qDAAqD;YACrD,GAAG,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAK,MAAM,CAAC,SAA4C,EAAE,IAAI,CAAE,EAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/H,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1C,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAiB;oBACxE,IAAI,CAAC,IAAI,CAAC,wBAAQ,CAAC,mBAAmB,CAAC;wBACrC,IAAI,EAAE,KAAK,EAAE,iBAAiB;wBAC9B,cAAc;qBACf,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAK,MAAM,CAAC,SAA4C,EAAE,IAAI,CAAE,EAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClI,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAiB;YACnE,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAmB,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,KAAK;gBACX,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AA5JW,QAAA,oCAAoC,wCA4J/C;AAEK,MAAM,yBAAyB,GAAG,CAAC,EAAS,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,8BAAc,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,wBAAS,CAAC;QAClE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,IAAI,wBAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC,CAAC;QACF,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,4BAAa,CAAC;QAC7C,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7E,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAGF,oBAAoB;AACP,QAAA,qBAAqB,GAAG,IAAA,mBAAW,EAAC,EAAE,CAAC,CAAC;AAErD,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,EAAU,EAAE,IAAkB;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,IAAI,EAAE,CAAC;YACT,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI;YACT,CAAC,CAAC,IAAA,sBAAU,EACP,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAE,wCAAwC;aAC/D,CAAC,CAAC,EAAE,CAAC,IAAA,mCAAoB,EAAC,KAAK,CAAC,CAAC,CACjC,mCAAoB,CAAC;YAC1B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IACD,oDAAoD;IACpD,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,wBAAS,CAAC;IACnB,CAAC;SAAM,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9C,UAAU;QACV,OAAO,wBAAS,CAAC;IACnB,CAAC;SAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,yBAAU,CAAC;IACpB,CAAC;SAAM,IAAI,EAAE,KAAK,QAAQ,EAAC,CAAC;QAC1B,OAAO,2BAAY,CAAC;IACtB,CAAC;SAAM,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,4BAAa,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAjCD,wDAiCC;AAGD,aAAa;AACb,SAAS,iBAAiB,CAAC,MAAc,EAAE,EAAkB;IAC3D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,gBAAgB,CAAC;QACtB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,iBAAiB,CAAC;QACvB,KAAK,gBAAgB,CAAC;QACtB,KAAK,YAAY,CAAC,CAAC,sCAAsC;QACzD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,kGAAkG;YAClG,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC7C,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,eAAe;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,qFAAqF;YACrF,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAEM,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,MAA8B,EAAS,EAAE;IAC1F,cAAc;IACd,MAAM,GAAG,GAAU,qBAAK,CAAC,mBAAmB,CAAC;QAC3C,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,IAAA,+BAAuB,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/C,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAElE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,qBAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAA,uBAAW,EACR,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC,EAAE,EAAE,EAAE;YACN,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,aAAa;YACnD,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,aAAa;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,sBAAM,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IACtE,IAAA,uBAAW,EACR,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,oBAAoB;KACpE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,cAAc,GAAG,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAhDW,QAAA,qBAAqB,yBAgDhC;AAEK,MAAM,uBAAuB,GAClC,CAAC,OAAsB,EAAE,EAAE,CAC3B,CAAC,IAA+F,EAAoB,EAAE;IACpH,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAChC,cAAc;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,yBAAS,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,WAAW,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YACnF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAdS,QAAA,uBAAuB,2BAchC;AAGJ,iBAAiB;AACJ,QAAA,cAAc,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;AACvF,QAAA,oBAAoB,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC7C,QAAA,gBAAgB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3E,QAAA,aAAa,GAAG,CAAC,GAAG,4BAAoB,EAAE,GAAG,wBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"parseTsClassType.js","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { TypeAnnotation } from '@lcap/nasl-concepts';
2
2
  import { type SemEnv } from '../typer/typer';
3
+ export { applyCheckUniqueKeys } from './type-operators/CheckUniqueKeys';
3
4
  type TypeMapper = (ty: TypeAnnotation | undefined) => TypeAnnotation;
4
5
  /**
5
6
  * 输入 DataSourceLike 类型,返回其对应的 Item 类型
@@ -24,6 +25,33 @@ export declare function typePick(env: SemEnv, obj: TypeAnnotation, index: TypeAn
24
25
  export declare const NaslCoreBinaryOperator: {
25
26
  add: string;
26
27
  };
28
+ /**
29
+ * 处理 InternalTupleType 的类型替换
30
+ * @param env 语义环境
31
+ * @param ty InternalTupleType 类型
32
+ * @param pSubst 类型替换函数
33
+ * @returns 处理后的类型
34
+ */
35
+ export declare function applyInternalTupleType(env: SemEnv, ty: TypeAnnotation, pSubst: TypeMapper): TypeAnnotation;
27
36
  export declare function selectBinaryOverload(env: SemEnv, functionName: string, leftTy: TypeAnnotation, rightTy: TypeAnnotation): TypeAnnotation;
28
- export {};
37
+ /**
38
+ * 处理 InternalMergeType 类型操作符
39
+ * 将多个匿名结构类型合并为一个新的匿名结构类型
40
+ *
41
+ * @param env 语义环境
42
+ * @param ty InternalMergeType 类型
43
+ * @param pSubst 类型替换函数
44
+ * @returns 合并后的类型或原类型
45
+ */
46
+ export declare function applyInternalMergeType(env: SemEnv, ty: TypeAnnotation, pSubst: TypeMapper): TypeAnnotation;
47
+ /**
48
+ * 处理 InternalGetQueryResult 类型操作符
49
+ * 替代原来的 TuplifyUnion 和 GetFinalType 逻辑
50
+ *
51
+ * @param env 语义环境
52
+ * @param ty InternalGetQueryResult 类型
53
+ * @param pSubst 类型替换函数
54
+ * @returns 处理后的类型
55
+ */
56
+ export declare function applyInternalGetQueryResult(env: SemEnv, ty: TypeAnnotation, isNoList: boolean, pSubst: TypeMapper): TypeAnnotation;
29
57
  //# sourceMappingURL=type-operator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-operator.d.ts","sourceRoot":"","sources":["../../src/utils/type-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgB9E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,KAAK,UAAU,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,kBAgEpF;AAID,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,cAAc,kBAE5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,GACzD,cAAc,GAAG,SAAS,CAuC5B;AAED,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AASF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,kBAiBxB"}
1
+ {"version":3,"file":"type-operator.d.ts","sourceRoot":"","sources":["../../src/utils/type-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAuB7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,KAAK,UAAU,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,kBAgEpF;AAID,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,cAAc,kBAE5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,GACzD,cAAc,GAAG,SAAS,CAuC5B;AAED,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AASF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,UAAU,GACjB,cAAc,CAkChB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,kBAiBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,UAAU,GACjB,cAAc,CAuEhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,UAAU,GACjB,cAAc,CAkDhB"}