@lcap/nasl 3.8.3-beta.6 → 3.8.3-beta.8

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.
@@ -223,7 +223,12 @@ class TimeSlicingController {
223
223
  }
224
224
  else {
225
225
  this.setFrameEnd();
226
- requestIdleCallback(runFrame);
226
+ if (utils_1.isSupportRequestIdleCallback) {
227
+ requestIdleCallback(runFrame);
228
+ }
229
+ else {
230
+ Promise.resolve().then(runGroup);
231
+ }
227
232
  }
228
233
  };
229
234
  /** 运行任务组 */
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/utils/time-slicing/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/utils/time-slicing/controller.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export interface AsyncData {
36
36
  /** 异步标签 */
37
37
  mark: ReturnType<typeof getAsyncMark>;
38
38
  }
39
+ /** 是否可用全局接口 */
40
+ export declare const isSupportRequestIdleCallback: boolean;
39
41
  export declare function getId(): number;
40
42
  /** 延迟 */
41
43
  export declare function delay(time?: number): Promise<void>;
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.returnOrigin = exports.isGenerator = exports.getFrameMark = exports.getGroupMark = exports.getAsyncMark = exports.delay = exports.getId = void 0;
3
+ exports.returnOrigin = exports.isGenerator = exports.getFrameMark = exports.getGroupMark = exports.getAsyncMark = exports.delay = exports.getId = exports.isSupportRequestIdleCallback = void 0;
4
+ const env_1 = require("../env");
4
5
  /** 编号 */
5
6
  let id = 0;
7
+ /** 是否可用全局接口 */
8
+ exports.isSupportRequestIdleCallback = env_1.isBrowser && 'requestIdleCallback' in window;
6
9
  function getId() {
7
10
  return id++;
8
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/time-slicing/utils.ts"],"names":[],"mappings":";;;AA0CA,SAAS;AACT,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,SAAgB,KAAK;IACnB,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AAFD,sBAEC;AAED,SAAS;AACT,SAAgB,KAAK,CAAC,OAAe,EAAE;IACrC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,sBAEC;AAED,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO;QACL,UAAU,EAAE,cAAc,EAAE,EAAE;QAC9B,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC1B,YAAY,EAAE,gBAAgB,EAAE,EAAE;KACnC,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO;QACL,UAAU,EAAE,cAAc,EAAE,EAAE;QAC9B,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC1B,YAAY,EAAE,gBAAgB,EAAE,EAAE;KACnC,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO;QACL,UAAU,EAAE,cAAc,EAAE,EAAE;QAC9B,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC1B,YAAY,EAAE,gBAAgB,EAAE,EAAE;KACnC,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,IAAI,OAAQ,KAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AACxE,CAAC;AAFD,kCAEC;AAOD,QAAe,CAAC,CAAC,YAAY,CAAI,UAAc;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/time-slicing/utils.ts"],"names":[],"mappings":";;;AAAA,gCAAmC;AA4CnC,SAAS;AACT,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,eAAe;AACF,QAAA,4BAA4B,GAAG,eAAS,IAAI,qBAAqB,IAAI,MAAM,CAAC;AAEzF,SAAgB,KAAK;IACnB,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AAFD,sBAEC;AAED,SAAS;AACT,SAAgB,KAAK,CAAC,OAAe,EAAE;IACrC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,sBAEC;AAED,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO;QACL,UAAU,EAAE,cAAc,EAAE,EAAE;QAC9B,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC1B,YAAY,EAAE,gBAAgB,EAAE,EAAE;KACnC,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO;QACL,UAAU,EAAE,cAAc,EAAE,EAAE;QAC9B,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC1B,YAAY,EAAE,gBAAgB,EAAE,EAAE;KACnC,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO;QACL,UAAU,EAAE,cAAc,EAAE,EAAE;QAC9B,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC1B,YAAY,EAAE,gBAAgB,EAAE,EAAE;KACnC,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,IAAI,OAAQ,KAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AACxE,CAAC;AAFD,kCAEC;AAOD,QAAe,CAAC,CAAC,YAAY,CAAI,UAAc;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,oCAEC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcap/nasl",
3
3
  "description": "NetEase Application Specific Language",
4
- "version": "3.8.3-beta.6",
4
+ "version": "3.8.3-beta.8",
5
5
  "author": "Forrest <rainforest92@126.com>",
6
6
  "main": "./out",
7
7
  "license": "MIT",
@@ -59,9 +59,9 @@ declare namespace nasl.auth {
59
59
  export function hasAuth(authPath: String): Boolean;
60
60
  // 退出当前登录状态
61
61
  export function logout(): void;
62
- // 对字符串 实现aes解密,返回解密后的字符串
63
- export function encryptByAES(authPath: String): String;
64
62
  // 对字符串 实现aes加密,返回加密后的字符串
63
+ export function encryptByAES(authPath: String): String;
64
+ // 对字符串 实现aes解密,返回解密后的字符串
65
65
  export function decryptByAES(authPath: String): String;
66
66
  // 获取用户信息
67
67
  export const userInfo: {
@@ -292,7 +292,7 @@ export class BaseNode extends EventEmitter {
292
292
  const arr = property.objectRef.split(' | ');
293
293
  for (let i = 0; i < arr.length; i++) {
294
294
  objectRefCtor = getConceptConstructor(arr[i]);
295
- if (sourceItem instanceof objectRefCtor) {
295
+ if (objectRefCtor && sourceItem instanceof objectRefCtor) {
296
296
  sourceItem.parentNode = this;
297
297
  sourceItem.parentKey = key;
298
298
  break;
@@ -61,7 +61,10 @@ export function getConceptMeta(concept: string): ConceptMeta {
61
61
  */
62
62
  export function getConceptConstructor<T extends keyof ConceptTypeofClassMap>(concept: T): ConceptTypeofClassMap[T] {
63
63
  const conceptMeta = getConceptMeta(concept);
64
- return conceptMeta.constructor as any;
64
+
65
+ if ((conceptMeta?.constructor as any)?.from) {
66
+ return conceptMeta?.constructor as any;
67
+ }
65
68
  }
66
69
 
67
70
  /**
@@ -1001,7 +1001,7 @@ function transformNode2Logic(node: babelTypes.FunctionDeclaration, name: string,
1001
1001
  let logicItem = transformNode2Expression(item, 'logic');
1002
1002
  if (logicItem) {
1003
1003
  if ((logicItem as any).concept === 'Variable') {
1004
- if (!curLogic.variables.find((_: any) => _.name === logicItem.name)) curLogic.addVariable(logicItem);
1004
+ if (!curLogic.variables.find((_: any) => _.name === logicItem.name)) curLogic.addVariable({ ...logicItem, defaultValue: undefined });
1005
1005
  logicItem = new naslTypes.Assignment({
1006
1006
  left: new naslTypes.Identifier({ name: logicItem?.name }),
1007
1007
  right: (logicItem as any).defaultValue?.expression || '',
@@ -1127,14 +1127,14 @@ class NaslServer {
1127
1127
 
1128
1128
  this.logger.time('处理诊断数据');
1129
1129
 
1130
- yield* utils.wrapForEachToGenerator(records, function* resolveRecord(record) {
1130
+ yield* utils.wrapForEachToGenerator(records, function* resolveRecord(record : DiagnosticRecord) {
1131
1131
  if (!record || !record.node) {
1132
1132
  return;
1133
1133
  }
1134
1134
 
1135
1135
  let { node } = record;
1136
1136
  // @ts-ignore
1137
- node = node.__v_raw || node; // 暂时先这样提速
1137
+ let nodeRaw = node.__v_raw || node; // 暂时先这样提速
1138
1138
 
1139
1139
  // 先获取原来的节点先清除一下之前有异常的节点,下面重新赋值
1140
1140
  const oldRecord = self.diagnosticManager.getRecord?.(record.id);
@@ -1163,13 +1163,13 @@ class NaslServer {
1163
1163
 
1164
1164
  // 语义诊断
1165
1165
  if (isChangeInterface) {
1166
- yield* self.existStructureFix(record.semanticDiagnostics, record.node as FileNode, self);
1166
+ yield* self.existStructureFix(record.semanticDiagnostics, node as FileNode, self);
1167
1167
  }
1168
1168
 
1169
1169
  // 单独处理 oql 语义错误提示
1170
- if (record.node instanceof Logic) {
1170
+ if (nodeRaw instanceof Logic) {
1171
1171
  yield* utils.wrapForEachToGenerator(record?.syntaxDiagnostics, function *test(item) {
1172
- const minRange = yield* self._findMinRangeWithGenerator(item as unknown as tsProtocol.DiagnosticWithFileName, record.node as FileNode);
1172
+ const minRange = yield* self._findMinRangeWithGenerator(item as unknown as tsProtocol.DiagnosticWithFileName, node as FileNode);
1173
1173
  if (minRange?.node instanceof OqlQueryComponent) {
1174
1174
  if (item.text === 'Invalid character.') {
1175
1175
  record.semanticDiagnostics.push(item);
@@ -1188,7 +1188,7 @@ class NaslServer {
1188
1188
  utils.wrapMapToGenerator(record.semanticDiagnostics, function* (diag) {
1189
1189
  return yield* self._resolveDiagnosticWithGenerator(
1190
1190
  diag as unknown as tsProtocol.DiagnosticWithFileName,
1191
- record.node as FileNode,
1191
+ node as FileNode,
1192
1192
  record
1193
1193
  );
1194
1194
  })
@@ -1283,20 +1283,20 @@ class NaslServer {
1283
1283
  `'__UpdateNoProperty__' is declared but its value is never read.`,
1284
1284
  ].includes(diag.text)
1285
1285
  ) {
1286
- return yield* self._resolveDiagnosticWithGenerator(diag as unknown as tsProtocol.DiagnosticWithFileName, record.node as FileNode, record);
1286
+ return yield* self._resolveDiagnosticWithGenerator(diag as unknown as tsProtocol.DiagnosticWithFileName, node as FileNode, record);
1287
1287
  } if (diag.text.includes(` is declared but its value is never read.`)) {
1288
1288
  // 局部变量和输入变量未使用的警告
1289
- const fromModule = record.node.parentNode.concept === 'Module';
1290
- const fromConnector = record.node.parentNode.concept === 'Connector';
1291
- if ((asserts.isStrictView(record.node) || asserts.isStrictLogic(record.node)) && !(fromModule || fromConnector)) {
1289
+ const fromModule = nodeRaw.parentNode.concept === 'Module';
1290
+ const fromConnector = nodeRaw.parentNode.concept === 'Connector';
1291
+ if ((asserts.isStrictView(nodeRaw) || asserts.isStrictLogic(record.node)) && !(fromModule || fromConnector)) {
1292
1292
  /**
1293
1293
  * javalogic不用提示
1294
1294
  */
1295
- if (asserts.isStrictLogic(record.node) && self._isJavalogic(record.node)) {
1295
+ if (asserts.isStrictLogic(nodeRaw) && self._isJavalogic(nodeRaw)) {
1296
1296
  return null;
1297
1297
  }
1298
- asserts.assertFileNode(record.node);
1299
- const minRange = yield* self._findMinRangeWithGenerator(diag as unknown as tsProtocol.DiagnosticWithFileName, record.node);
1298
+ asserts.assertFileNode(nodeRaw);
1299
+ const minRange = yield* self._findMinRangeWithGenerator(diag as unknown as tsProtocol.DiagnosticWithFileName, node as FileNode);
1300
1300
  if (minRange) {
1301
1301
  /**
1302
1302
  * 如果节点是入参类型
@@ -1829,16 +1829,16 @@ class NaslServer {
1829
1829
  private *_attachDiagnosticsWithGenerator(fileNode: BaseNode) {
1830
1830
  // 每次诊断前先清空这个Set
1831
1831
  // @ts-ignore
1832
- fileNode = fileNode.__v_raw || fileNode; // 暂时先这样提速
1832
+ let fileNodeRaw = fileNode.__v_raw || fileNode; // 暂时先这样提速
1833
1833
  this.logicSetWithComponentLogic = new Set<string>();
1834
1834
 
1835
1835
  const self = this;
1836
1836
  const diagnostics: Diagnostic[] = [];
1837
1837
 
1838
- if (fileNode instanceof View || fileNode instanceof BusinessComponent) {
1839
- yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), function* attachView([node, value]) {
1838
+ if (fileNodeRaw instanceof View || fileNodeRaw instanceof BusinessComponent) {
1839
+ yield* utils.wrapIteratorToGenerator(fileNodeRaw.sourceMap.entries(), function* attachView([node, value]) {
1840
1840
  const likeComponent = node.getAncestor('View') || node.getAncestor('BusinessComponent');
1841
- if (node instanceof ViewElement && likeComponent === fileNode) {
1841
+ if (node instanceof ViewElement && likeComponent === fileNodeRaw) {
1842
1842
  if (node.tag) {
1843
1843
  yield* utils.wrapForEachToGenerator(node.bindAttrs, (bindAttr) => {
1844
1844
  if ((bindAttr.model || bindAttr.sync) && bindAttr.expression) {
@@ -1879,14 +1879,14 @@ class NaslServer {
1879
1879
  }
1880
1880
  });
1881
1881
  }
1882
- } else if ((node instanceof Variable || node instanceof Return) && likeComponent === fileNode) {
1882
+ } else if ((node instanceof Variable || node instanceof Return) && likeComponent === fileNodeRaw) {
1883
1883
  if (!node.typeAnnotation && !node.__TypeAnnotation) {
1884
1884
  const nodeTypeName = node.concept === 'Return' ? '输出参数' : '局部变量';
1885
1885
  let msg;
1886
- yield* fileNode.traverseChildrenGenerator((nodeIn) => {
1886
+ yield* fileNodeRaw.traverseChildrenGenerator((nodeIn : types.SyntaxNode) => {
1887
1887
  if (nodeIn && (nodeIn instanceof BatchAssignment || (nodeIn instanceof Assignment && nodeIn.left?.name))) {
1888
1888
  // 子页面内部逻辑过滤
1889
- if ((nodeIn.view || nodeIn.getAncestor('BusinessComponent')) !== fileNode) return;
1889
+ if ((nodeIn.view || nodeIn.getAncestor('BusinessComponent')) !== fileNodeRaw) return;
1890
1890
  // 当局部变量、输出参数属于页面内逻辑时,需过滤同页面下不同逻辑下的同名变量
1891
1891
  if (node.logic && node.logic !== nodeIn.logic) return;
1892
1892
  // 跟变量无关的赋值过滤
@@ -1942,7 +1942,7 @@ class NaslServer {
1942
1942
  node.tsErrorDetail = diagnostic;
1943
1943
  diagnostics.push(diagnostic);
1944
1944
  }
1945
- const fileSourceCode = self.getNodeCode(fileNode, value);
1945
+ const fileSourceCode = self.getNodeCode(fileNodeRaw, value);
1946
1946
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
1947
1947
  const typeAnnotation = node.typeAnnotation.toJSON()
1948
1948
  yield* self._treeMetadataType2CoreType(typeAnnotation, (node.rootNode as App))
@@ -2011,13 +2011,13 @@ class NaslServer {
2011
2011
  }
2012
2012
  });
2013
2013
  }
2014
- else if (fileNode instanceof DataSource) {
2015
- const dataSourceGroup = (fileNode.rootNode as App).configuration?.getGroup('dataSource');
2014
+ else if (fileNodeRaw instanceof DataSource) {
2015
+ const dataSourceGroup = (fileNodeRaw.rootNode as App).configuration?.getGroup('dataSource');
2016
2016
  if (dataSourceGroup) {
2017
- const property = dataSourceGroup.getProperty(fileNode.name);
2017
+ const property = dataSourceGroup.getProperty(fileNodeRaw.name);
2018
2018
  if (property && property.values) {
2019
2019
  yield* utils.wrapForEachToGenerator(property.values, (propertyValue) => {
2020
- if (!propertyValue.value && fileNode.name !== 'defaultDS') {
2020
+ if (!propertyValue.value && fileNodeRaw.name !== 'defaultDS') {
2021
2021
  // prod 环境数据源未配置数据信息 时,不再给出其他提示
2022
2022
  // https://projectmanage.netease-official.lcap.163yun.com/dashboard/FeatureDetail?id=2782461488301056
2023
2023
  if (propertyValue.env === 'online') return;
@@ -2036,7 +2036,7 @@ class NaslServer {
2036
2036
  };
2037
2037
  diagnostics.push(diagnostic);
2038
2038
  } else if (propertyValue.value) {
2039
- const dataSource: any = fileNode;
2039
+ const dataSource: any = fileNodeRaw;
2040
2040
  // 数据源有连接错误
2041
2041
  let envText;
2042
2042
  if (propertyValue.env === 'dev') {
@@ -2075,18 +2075,18 @@ class NaslServer {
2075
2075
  }
2076
2076
 
2077
2077
  // 检查实体重名
2078
- const duplidateEntities = this._getDuplicateNames(fileNode, (dataSource: DataSource) => dataSource.entities, (entity: Entity) => entity.name);
2078
+ const duplidateEntities = this._getDuplicateNames(fileNodeRaw, (dataSource: DataSource) => dataSource.entities, (entity: Entity) => entity.name);
2079
2079
  if(duplidateEntities.length) {
2080
2080
  diagnostics.push({
2081
2081
  node: fileNode,
2082
2082
  severity: 'error',
2083
- message: `数据源${fileNode.name}存在重名实体:${duplidateEntities.join(', ')}`,
2083
+ message: `数据源${fileNodeRaw.name}存在重名实体:${duplidateEntities.join(', ')}`,
2084
2084
  });
2085
2085
  }
2086
2086
  }
2087
2087
  // 加上对实体属性存储类型的校验规则
2088
- else if (fileNode instanceof Entity) {
2089
- const entity = fileNode;
2088
+ else if (fileNodeRaw instanceof Entity) {
2089
+ const entity = fileNodeRaw;
2090
2090
  const dbType = entity.dataSource.dataSourceSqlType;
2091
2091
  const { origin, properties } = entity || {};
2092
2092
  if (dbType && !['excel', 'table'].includes(origin) && Array.isArray(properties) && properties.length) {
@@ -2339,12 +2339,12 @@ class NaslServer {
2339
2339
  });
2340
2340
  }
2341
2341
  }
2342
- else if (fileNode instanceof Logic || fileNode instanceof OverriddenLogic) {
2343
- const { isRefedByTrigger, fRefNames } = yield this.isRefedByTriggerAndReturnFirstRef(fileNode);
2344
- if (fileNode instanceof Logic && fileNode?.exportInterface && fileNode.calleewholeKey.startsWith('app.logics')) {
2342
+ else if (fileNodeRaw instanceof Logic || fileNodeRaw instanceof OverriddenLogic) {
2343
+ const { isRefedByTrigger, fRefNames } = yield this.isRefedByTriggerAndReturnFirstRef(fileNodeRaw);
2344
+ if (fileNodeRaw instanceof Logic && fileNodeRaw?.exportInterface && fileNodeRaw.calleewholeKey.startsWith('app.logics')) {
2345
2345
  let isSame = true;
2346
- const itf = (fileNode.exportInterface as Interface);
2347
- const { params: logicParams, returns: logicReturns } = fileNode;
2346
+ const itf = (fileNodeRaw.exportInterface as Interface);
2347
+ const { params: logicParams, returns: logicReturns } = fileNodeRaw;
2348
2348
  const { params: itfParams, returns: itfReturns } = itf;
2349
2349
  if (logicParams?.length !== itfParams?.length || logicReturns?.length !== itfReturns?.length) {
2350
2350
  isSame = false;
@@ -2387,31 +2387,31 @@ class NaslServer {
2387
2387
  }
2388
2388
  }
2389
2389
 
2390
- if (fileNode instanceof Logic && fileNode.calleewholeKey.startsWith('app.logics')) {
2391
- const duplicateLogics = this._getDuplicateNames(fileNode.rootNode as App, (app: App) => app.logics, (logic: Logic) => logic.name);
2392
- if(duplicateLogics.includes(fileNode.name)) {
2390
+ if (fileNodeRaw instanceof Logic && fileNodeRaw.calleewholeKey.startsWith('app.logics')) {
2391
+ const duplicateLogics = this._getDuplicateNames(fileNodeRaw.rootNode as App, (app: App) => app.logics, (logic: Logic) => logic.name);
2392
+ if(duplicateLogics.includes(fileNodeRaw.name)) {
2393
2393
  const diagnostic = {
2394
2394
  node: fileNode,
2395
2395
  severity: 'error',
2396
- message: `存在重名服务端逻辑${fileNode.name}`,
2396
+ message: `存在重名服务端逻辑${fileNodeRaw.name}`,
2397
2397
  };
2398
2398
  diagnostics.push(diagnostic);
2399
2399
  }
2400
2400
  }
2401
2401
 
2402
2402
  if (isRefedByTrigger) {
2403
- const { isTriggerRule, errorFRefNames } = this.isTriggerRule(fileNode as Logic, fRefNames);
2403
+ const { isTriggerRule, errorFRefNames } = this.isTriggerRule(fileNodeRaw as Logic, fRefNames);
2404
2404
  if (!isTriggerRule) {
2405
2405
  const diagnostic = {
2406
2406
  node: fileNode,
2407
2407
  severity: 'error',
2408
- message: `${fileNode.name} 已被消息订阅配置 ${errorFRefNames.join(',')} 引用,但出入参数类型不匹配,或数量不一致`,
2408
+ message: `${fileNodeRaw.name} 已被消息订阅配置 ${errorFRefNames.join(',')} 引用,但出入参数类型不匹配,或数量不一致`,
2409
2409
  };
2410
2410
  diagnostics.push(diagnostic);
2411
2411
  }
2412
2412
  }
2413
2413
 
2414
- yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), function* wrapIterator([node, value]) {
2414
+ yield* utils.wrapIteratorToGenerator(fileNodeRaw.sourceMap.entries(), function* wrapIterator([node, value]) {
2415
2415
  if (node instanceof OqlQueryComponent) {
2416
2416
  // 自动推导情况
2417
2417
  const typeAnnotation = yield* type2TypeAnnotation((node as any).__nodeType);
@@ -2474,7 +2474,7 @@ class NaslServer {
2474
2474
  } else {
2475
2475
  node.__aStructureError = null;
2476
2476
  }
2477
- const fileSourceCode = self.getNodeCode(fileNode, value);
2477
+ const fileSourceCode = self.getNodeCode(fileNodeRaw, value);
2478
2478
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
2479
2479
  const typeAnnotation = node.typeAnnotation.toJSON()
2480
2480
  yield* self._treeMetadataType2CoreType(typeAnnotation, (node.rootNode as App))
@@ -2490,7 +2490,7 @@ class NaslServer {
2490
2490
  }
2491
2491
  }
2492
2492
  else if (node instanceof Param) {
2493
- const fileSourceCode = self.getNodeCode(fileNode, value);
2493
+ const fileSourceCode = self.getNodeCode(fileNodeRaw, value);
2494
2494
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
2495
2495
  const typeAnnotation = node.typeAnnotation.toJSON()
2496
2496
  yield* self._treeMetadataType2CoreType(typeAnnotation, (node.rootNode as App))
@@ -2508,12 +2508,12 @@ class NaslServer {
2508
2508
  self.checkNodeError(node, diagnostics);
2509
2509
  });
2510
2510
  }
2511
- else if (fileNode instanceof Process) {
2512
- yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([node, value]) => {
2511
+ else if (fileNodeRaw instanceof Process) {
2512
+ yield* utils.wrapIteratorToGenerator(fileNodeRaw.sourceMap.entries(), ([node, value]) => {
2513
2513
  this.checkNodeError(node, diagnostics);
2514
2514
  });
2515
- } else if (fileNode instanceof ProcessV2) {
2516
- yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), function* wrapIterator([node, value]) {
2515
+ } else if (fileNodeRaw instanceof ProcessV2) {
2516
+ yield* utils.wrapIteratorToGenerator(fileNodeRaw.sourceMap.entries(), function* wrapIterator([node, value]) {
2517
2517
  if (node instanceof Return || node instanceof Variable) {
2518
2518
  const nodeTypeName = node.concept === 'Return' ? '输出参数' : '局部变量';
2519
2519
  if (!node.typeAnnotation && !node.__TypeAnnotation) {
@@ -2553,13 +2553,13 @@ class NaslServer {
2553
2553
  }
2554
2554
  }
2555
2555
  });
2556
- } else if (fileNode instanceof Connection) {
2557
- const connectorPropertyNames = NaslServer.getPropertyNames(fileNode);
2558
- const connectionPropertyNames = NaslServer.getPropertyNames(fileNode?.connector);
2556
+ } else if (fileNodeRaw instanceof Connection) {
2557
+ const connectorPropertyNames = NaslServer.getPropertyNames(fileNodeRaw);
2558
+ const connectionPropertyNames = NaslServer.getPropertyNames(fileNodeRaw?.connector);
2559
2559
  const diagnostic = {
2560
2560
  node: fileNode,
2561
2561
  severity: 'error',
2562
- message: `连接器 ${fileNode.name} 参数配置有更新`,
2562
+ message: `连接器 ${fileNodeRaw.name} 参数配置有更新`,
2563
2563
  // 保留原来的内容方便查询一些问题
2564
2564
  originalDiagnostic: {
2565
2565
  fileName: '',
@@ -2584,12 +2584,12 @@ class NaslServer {
2584
2584
  diagnostics.push(diagnostic);
2585
2585
  } else if (!isSameConfig) {
2586
2586
  diagnostics.push(diagnostic);
2587
- } else if (hasEmptyConfig(fileNode)) {
2587
+ } else if (hasEmptyConfig(fileNodeRaw)) {
2588
2588
  diagnostics.push(diagnostic);
2589
2589
  }
2590
2590
 
2591
- } else if (fileNode instanceof MetadataType) {
2592
- fileNode?.sourceMap.forEach((value, node) => {
2591
+ } else if (fileNodeRaw instanceof MetadataType) {
2592
+ fileNodeRaw?.sourceMap.forEach((value, node) => {
2593
2593
  const rulesMap: any = {};
2594
2594
  const { rules, typeAnnotation } = node as MetadataType;
2595
2595
  if (Array.isArray(rules)) {
@@ -2633,20 +2633,20 @@ class NaslServer {
2633
2633
  }
2634
2634
 
2635
2635
  // TODO need reset when process support hoc & spread param & type annotation
2636
- const isInProcess = fileNode instanceof Process ||
2637
- fileNode instanceof ProcessV2 ||
2638
- !!fileNode?.getAncestor('Process') ||
2639
- !!fileNode?.getAncestor('ProcessV2');
2636
+ const isInProcess = fileNodeRaw instanceof Process ||
2637
+ fileNodeRaw instanceof ProcessV2 ||
2638
+ !!fileNodeRaw?.getAncestor('Process') ||
2639
+ !!fileNodeRaw?.getAncestor('ProcessV2');
2640
2640
  if (isInProcess) {
2641
2641
  // 查找计算过 subLogic 的节点。(目前只有 Logic、ProcessElement、ProcessElementV2)
2642
- let targetNode: Process | ProcessV2 = fileNode as | Process | ProcessV2;
2642
+ let targetNode: Process | ProcessV2 = fileNodeRaw as | Process | ProcessV2;
2643
2643
  if (
2644
- isProcess(fileNode) ||
2645
- isProcessV2(fileNode)
2644
+ isProcess(fileNodeRaw) ||
2645
+ isProcessV2(fileNodeRaw)
2646
2646
  ) {
2647
- targetNode = fileNode;
2647
+ targetNode = fileNodeRaw;
2648
2648
  } else {
2649
- targetNode = fileNode.getAncestor('Process') as Process || fileNode.getAncestor('ProcessV2') as ProcessV2;
2649
+ targetNode = fileNodeRaw.getAncestor('Process') as Process || fileNodeRaw.getAncestor('ProcessV2') as ProcessV2;
2650
2650
  }
2651
2651
  if (targetNode?.subLogics?.length) {
2652
2652
  const diagnostic = {
@@ -3213,14 +3213,12 @@ class NaslServer {
3213
3213
  ): Generator<void, MinRange> {
3214
3214
  let minRange: MinRange;
3215
3215
  // @ts-ignore
3216
- fileNode = fileNode.__v_raw || fileNode; // 暂时先这样提速
3217
- const { sourceMap } = fileNode;
3216
+ let fileNodeRaw = fileNode.__v_raw || fileNode; // 暂时先这样提速
3217
+ const { sourceMap } = fileNodeRaw;
3218
3218
  // 是否找到了行内准确的,是的话,就不走多行的
3219
3219
  let haveLineNode = false;
3220
3220
 
3221
3221
  for (let [node, item] of sourceMap.entries()) {
3222
- // @ts-ignore
3223
- node = node.__v_raw || node; // 暂时先这样提速
3224
3222
  /**
3225
3223
  * 当前内容的开始行 <= 诊断开始的行 &&
3226
3224
  * 当前内容的结束行 >= 诊断结束的行
@@ -3274,12 +3272,11 @@ class NaslServer {
3274
3272
  }
3275
3273
  }
3276
3274
  }
3277
-
3278
3275
  yield;
3279
3276
  }
3280
3277
 
3281
3278
  if (!minRange) {
3282
- if (fileNode instanceof View || fileNode instanceof BusinessComponent) {
3279
+ if (fileNodeRaw instanceof View || fileNodeRaw instanceof BusinessComponent) {
3283
3280
  return { node: fileNode, item: sourceMap.get(fileNode) } as MinRange;
3284
3281
  }
3285
3282
  if (process.env.NODE_ENV === 'development') {
@@ -8,6 +8,7 @@ import {
8
8
  FrameData,
9
9
  AsyncData,
10
10
  getId,
11
+ isSupportRequestIdleCallback,
11
12
  } from './utils';
12
13
  import {
13
14
  LowResourceRatio,
@@ -274,7 +275,12 @@ export class TimeSlicingController {
274
275
  }
275
276
  else {
276
277
  this.setFrameEnd();
277
- requestIdleCallback(runFrame);
278
+ if (isSupportRequestIdleCallback) {
279
+ requestIdleCallback(runFrame);
280
+ }
281
+ else {
282
+ Promise.resolve().then(runGroup);
283
+ }
278
284
  }
279
285
  };
280
286
  /** 运行任务组 */
@@ -1,3 +1,5 @@
1
+ import { isBrowser } from '../env';
2
+
1
3
  export interface TaskDataInDebug {
2
4
  count: number;
3
5
  time: number;
@@ -43,6 +45,9 @@ export interface AsyncData {
43
45
  /** 编号 */
44
46
  let id = 0;
45
47
 
48
+ /** 是否可用全局接口 */
49
+ export const isSupportRequestIdleCallback = isBrowser && 'requestIdleCallback' in window;
50
+
46
51
  export function getId() {
47
52
  return id++;
48
53
  }