@lcap/nasl-language-server-core 4.3.0-beta.5 → 4.3.0-beta.7

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 (36) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +18 -0
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/reference-manager.d.ts +4 -0
  5. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  6. package/out/reference-manager/reference-manager.js +27 -0
  7. package/out/reference-manager/reference-manager.js.map +1 -1
  8. package/out/symbol/traverse/concepts/frontend/abstract-validation.d.ts +7 -0
  9. package/out/symbol/traverse/concepts/frontend/abstract-validation.d.ts.map +1 -0
  10. package/out/symbol/traverse/concepts/frontend/abstract-validation.js +23 -0
  11. package/out/symbol/traverse/concepts/frontend/abstract-validation.js.map +1 -0
  12. package/out/symbol/traverse/concepts/frontend/bind-attr.js +2 -2
  13. package/out/symbol/traverse/concepts/frontend/bind-attr.js.map +1 -1
  14. package/out/symbol/traverse/concepts/frontend/index.d.ts +1 -1
  15. package/out/symbol/traverse/concepts/frontend/index.d.ts.map +1 -1
  16. package/out/symbol/traverse/concepts/frontend/index.js +1 -1
  17. package/out/symbol/traverse/concepts/frontend/index.js.map +1 -1
  18. package/out/symbol/traverse/concepts/index.d.ts +1 -1
  19. package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
  20. package/out/typer/dispatch-def.js +1 -1
  21. package/out/typer/dispatch-def.js.map +1 -1
  22. package/out/typer/dispatch-stmt.d.ts +3 -1
  23. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  24. package/out/typer/dispatch-stmt.js +17 -1
  25. package/out/typer/dispatch-stmt.js.map +1 -1
  26. package/out/typer/dispatch-view.d.ts +3 -1
  27. package/out/typer/dispatch-view.d.ts.map +1 -1
  28. package/out/typer/dispatch-view.js +21 -2
  29. package/out/typer/dispatch-view.js.map +1 -1
  30. package/out/utils/traverse-util.d.ts.map +1 -1
  31. package/out/utils/traverse-util.js.map +1 -1
  32. package/package.json +5 -5
  33. package/out/symbol/traverse/concepts/frontend/validation-rule.d.ts +0 -7
  34. package/out/symbol/traverse/concepts/frontend/validation-rule.d.ts.map +0 -1
  35. package/out/symbol/traverse/concepts/frontend/validation-rule.js +0 -17
  36. package/out/symbol/traverse/concepts/frontend/validation-rule.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAU0F,GAAG,EAMvG,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AA4OF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCA8sIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;8BA4Df,UAAU;2BAuBb,UAAU;;;iBAW3B,MAAM;kBACL,MAAM;kBACN,MAAM;qBACH,MAAM;;kBAhuIF,UAAU,WAAW,MAAM,YAAY,YAAY;EAkwIzE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAMD,eAAO,MAAM,6BAA6B,aAC9B,UAAU,+DAGnB,MAAM,gBAAgB,CAyCxB,CAAC;AAMF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAU2G,GAAG,EAMxH,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AA4OF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCAmuIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;8BA4Df,UAAU;2BAuBb,UAAU;;;iBAW3B,MAAM;kBACL,MAAM;kBACN,MAAM;qBACH,MAAM;;kBArvIF,UAAU,WAAW,MAAM,YAAY,YAAY;EAuxIzE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAMD,eAAO,MAAM,6BAA6B,aAC9B,UAAU,+DAGnB,MAAM,gBAAgB,CAyCxB,CAAC;AAMF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
package/out/checker.js CHANGED
@@ -566,6 +566,9 @@ function createErrorDiagnoser(context) {
566
566
  message = '';
567
567
  }
568
568
  }
569
+ else if (nasl_concepts_1.asserts.isValidationLogic(node)) {
570
+ message = '验证函数:参数不能为空!';
571
+ }
569
572
  if (message) {
570
573
  error(node, message);
571
574
  }
@@ -3347,6 +3350,9 @@ function createErrorDiagnoser(context) {
3347
3350
  return type;
3348
3351
  }
3349
3352
  }
3353
+ if (name === 'validateValue') {
3354
+ return env.getType(node);
3355
+ }
3350
3356
  createUndefinedIdentifierError(node);
3351
3357
  return errorType;
3352
3358
  }
@@ -3986,6 +3992,16 @@ function createErrorDiagnoser(context) {
3986
3992
  }
3987
3993
  }
3988
3994
  }
3995
+ /**
3996
+ * 检查 验证逻辑
3997
+ * @param node
3998
+ */
3999
+ function* checkValidationLogic(node) {
4000
+ if (ensureNodeKeyExists(node, 'expression')) {
4001
+ yield* checkNode(node.expression);
4002
+ }
4003
+ yield* checkNode(node.errorMessage);
4004
+ }
3989
4005
  /**
3990
4006
  * 检查 类型标注
3991
4007
  * @param node
@@ -4303,6 +4319,8 @@ function createErrorDiagnoser(context) {
4303
4319
  return yield* checkAnonymousFunction(node);
4304
4320
  case 'ValidationRule':
4305
4321
  return yield* checkValidationRule(node);
4322
+ case 'ValidationLogic':
4323
+ return yield* checkValidationLogic(node);
4306
4324
  case 'TypeAnnotation':
4307
4325
  return yield* checkTypeAnnotation(node);
4308
4326
  case 'Start':