@lcap/nasl-utils 3.9.0-beta.1

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 (99) hide show
  1. package/README.md +3 -0
  2. package/out/assets.d.ts +8 -0
  3. package/out/assets.d.ts.map +1 -0
  4. package/out/assets.js +14 -0
  5. package/out/assets.js.map +1 -0
  6. package/out/batch.d.ts +37 -0
  7. package/out/batch.d.ts.map +1 -0
  8. package/out/batch.js +148 -0
  9. package/out/batch.js.map +1 -0
  10. package/out/concept.d.ts +5 -0
  11. package/out/concept.d.ts.map +1 -0
  12. package/out/concept.js +48 -0
  13. package/out/concept.js.map +1 -0
  14. package/out/constant.d.ts +8 -0
  15. package/out/constant.d.ts.map +1 -0
  16. package/out/constant.js +41 -0
  17. package/out/constant.js.map +1 -0
  18. package/out/data/defaultErrorMessage.json +98 -0
  19. package/out/delay.d.ts +3 -0
  20. package/out/delay.d.ts.map +1 -0
  21. package/out/delay.js +9 -0
  22. package/out/delay.js.map +1 -0
  23. package/out/env.d.ts +11 -0
  24. package/out/env.d.ts.map +1 -0
  25. package/out/env.js +14 -0
  26. package/out/env.js.map +1 -0
  27. package/out/file.d.ts +34 -0
  28. package/out/file.d.ts.map +1 -0
  29. package/out/file.js +50 -0
  30. package/out/file.js.map +1 -0
  31. package/out/hash.d.ts +7 -0
  32. package/out/hash.d.ts.map +1 -0
  33. package/out/hash.js +38 -0
  34. package/out/hash.js.map +1 -0
  35. package/out/index.d.ts +15 -0
  36. package/out/index.d.ts.map +1 -0
  37. package/out/index.js +31 -0
  38. package/out/index.js.map +1 -0
  39. package/out/logger.d.ts +3 -0
  40. package/out/logger.d.ts.map +1 -0
  41. package/out/logger.js +21 -0
  42. package/out/logger.js.map +1 -0
  43. package/out/string.d.ts +76 -0
  44. package/out/string.d.ts.map +1 -0
  45. package/out/string.js +191 -0
  46. package/out/string.js.map +1 -0
  47. package/out/time-slicing/constant.d.ts +36 -0
  48. package/out/time-slicing/constant.d.ts.map +1 -0
  49. package/out/time-slicing/constant.js +40 -0
  50. package/out/time-slicing/constant.js.map +1 -0
  51. package/out/time-slicing/controller.d.ts +54 -0
  52. package/out/time-slicing/controller.d.ts.map +1 -0
  53. package/out/time-slicing/controller.js +295 -0
  54. package/out/time-slicing/controller.js.map +1 -0
  55. package/out/time-slicing/index.d.ts +6 -0
  56. package/out/time-slicing/index.d.ts.map +1 -0
  57. package/out/time-slicing/index.js +26 -0
  58. package/out/time-slicing/index.js.map +1 -0
  59. package/out/time-slicing/page-state.d.ts +3 -0
  60. package/out/time-slicing/page-state.d.ts.map +1 -0
  61. package/out/time-slicing/page-state.js +8 -0
  62. package/out/time-slicing/page-state.js.map +1 -0
  63. package/out/time-slicing/performance.d.ts +12 -0
  64. package/out/time-slicing/performance.d.ts.map +1 -0
  65. package/out/time-slicing/performance.js +50 -0
  66. package/out/time-slicing/performance.js.map +1 -0
  67. package/out/time-slicing/runner.d.ts +13 -0
  68. package/out/time-slicing/runner.d.ts.map +1 -0
  69. package/out/time-slicing/runner.js +52 -0
  70. package/out/time-slicing/runner.js.map +1 -0
  71. package/out/time-slicing/tool.d.ts +25 -0
  72. package/out/time-slicing/tool.d.ts.map +1 -0
  73. package/out/time-slicing/tool.js +47 -0
  74. package/out/time-slicing/tool.js.map +1 -0
  75. package/out/time-slicing/utils.d.ts +63 -0
  76. package/out/time-slicing/utils.d.ts.map +1 -0
  77. package/out/time-slicing/utils.js +47 -0
  78. package/out/time-slicing/utils.js.map +1 -0
  79. package/out/time-slicing/wrapper.d.ts +19 -0
  80. package/out/time-slicing/wrapper.d.ts.map +1 -0
  81. package/out/time-slicing/wrapper.js +55 -0
  82. package/out/time-slicing/wrapper.js.map +1 -0
  83. package/out/traverse.d.ts +37 -0
  84. package/out/traverse.d.ts.map +1 -0
  85. package/out/traverse.js +144 -0
  86. package/out/traverse.js.map +1 -0
  87. package/out/types.d.ts +2 -0
  88. package/out/types.d.ts.map +1 -0
  89. package/out/types.js +3 -0
  90. package/out/types.js.map +1 -0
  91. package/out/uuid.d.ts +4 -0
  92. package/out/uuid.d.ts.map +1 -0
  93. package/out/uuid.js +15 -0
  94. package/out/uuid.js.map +1 -0
  95. package/out/window.d.ts +8 -0
  96. package/out/window.d.ts.map +1 -0
  97. package/out/window.js +14 -0
  98. package/out/window.js.map +1 -0
  99. package/package.json +35 -0
@@ -0,0 +1,63 @@
1
+ export interface TaskDataInDebug {
2
+ count: number;
3
+ time: number;
4
+ avg: number;
5
+ frameId: number;
6
+ }
7
+ export interface GroupData {
8
+ /** 任务组编号 */
9
+ id: number;
10
+ /** 所属帧编号 */
11
+ frameId: number;
12
+ /** 任务组耗时 */
13
+ time: number;
14
+ /** 任务组数量 */
15
+ limit: number;
16
+ /** 任务组标签 */
17
+ mark: ReturnType<typeof getGroupMark>;
18
+ }
19
+ export interface FrameData {
20
+ /** 帧编号 */
21
+ id: number;
22
+ /** 帧耗时 */
23
+ time: number;
24
+ /** 任务组在当前帧的耗时 */
25
+ groupTime: number;
26
+ /** 帧标签 */
27
+ mark: ReturnType<typeof getFrameMark>;
28
+ }
29
+ export interface AsyncData {
30
+ /** 异步等待编号 */
31
+ id: number;
32
+ /** 异步等待耗时 */
33
+ time: number;
34
+ /** 异步结果 */
35
+ result: any;
36
+ /** 异步标签 */
37
+ mark: ReturnType<typeof getAsyncMark>;
38
+ }
39
+ export declare function getId(): number;
40
+ /** 延迟 */
41
+ export declare function delay(time?: number): Promise<void>;
42
+ export declare function getAsyncMark(id: number): {
43
+ AsyncStart: string;
44
+ AsyncEnd: string;
45
+ AsyncMeasure: string;
46
+ };
47
+ export declare function getGroupMark(id: number): {
48
+ GroupStart: string;
49
+ GroupEnd: string;
50
+ GroupMeasure: string;
51
+ };
52
+ export declare function getFrameMark(id: number): {
53
+ FrameStart: string;
54
+ FrameEnd: string;
55
+ FrameMeasure: string;
56
+ };
57
+ export declare function isGenerator(value: unknown): value is Generator<any, any, any>;
58
+ /**
59
+ * 空生成器
60
+ */
61
+ export declare function returnOrigin(): Generator<any, void, any>;
62
+ export declare function returnOrigin<T>(defaultVal: T): Generator<any, T, any>;
63
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/time-slicing/utils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY;IACZ,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,UAAU;IACV,EAAE,EAAE,MAAM,CAAC;IACX,UAAU;IACV,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU;IACV,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,WAAW;IACX,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACvC;AAKD,wBAAgB,KAAK,WAEpB;AAED,SAAS;AACT,wBAAgB,KAAK,CAAC,IAAI,GAAE,MAAW,iBAEtC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;EAMtC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;EAMtC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;EAMtC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1D,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.returnOrigin = exports.isGenerator = exports.getFrameMark = exports.getGroupMark = exports.getAsyncMark = exports.delay = exports.getId = void 0;
4
+ /** 编号 */
5
+ let id = 0;
6
+ function getId() {
7
+ return id++;
8
+ }
9
+ exports.getId = getId;
10
+ /** 延迟 */
11
+ function delay(time = 10) {
12
+ return new Promise((resolve) => setTimeout(resolve, time));
13
+ }
14
+ exports.delay = delay;
15
+ function getAsyncMark(id) {
16
+ return {
17
+ AsyncStart: `AsyncStart-${id}`,
18
+ AsyncEnd: `AsyncEnd-${id}`,
19
+ AsyncMeasure: `AsyncMeasure-${id}`,
20
+ };
21
+ }
22
+ exports.getAsyncMark = getAsyncMark;
23
+ function getGroupMark(id) {
24
+ return {
25
+ GroupStart: `GroupStart-${id}`,
26
+ GroupEnd: `GroupEnd-${id}`,
27
+ GroupMeasure: `GroupMeasure-${id}`,
28
+ };
29
+ }
30
+ exports.getGroupMark = getGroupMark;
31
+ function getFrameMark(id) {
32
+ return {
33
+ FrameStart: `FrameStart-${id}`,
34
+ FrameEnd: `FrameEnd-${id}`,
35
+ FrameMeasure: `FrameMeasure-${id}`,
36
+ };
37
+ }
38
+ exports.getFrameMark = getFrameMark;
39
+ function isGenerator(value) {
40
+ return Boolean(value && typeof value[Symbol.iterator] === 'function');
41
+ }
42
+ exports.isGenerator = isGenerator;
43
+ function* returnOrigin(defaultVal) {
44
+ return defaultVal;
45
+ }
46
+ exports.returnOrigin = returnOrigin;
47
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/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,OAAO,CAAC,KAAK,IAAI,OAAQ,KAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,CAAC;AACjF,CAAC;AAFD,kCAEC;AAOD,QAAe,CAAC,CAAC,YAAY,CAAI,UAAc;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,oCAEC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 迭代器包装为生成器
3
+ *
4
+ * @description 回调中允许使用生成器
5
+ */
6
+ export declare function wrapIteratorToGenerator<T>(list: IterableIterator<T>, forEach: (item: T, index: number, arr: T[]) => (any | Generator<any, any, any>)): Generator<any, any, any>;
7
+ /**
8
+ * 数组 forEach 回调包装为生成器
9
+ *
10
+ * @description 回调中允许使用生成器
11
+ */
12
+ export declare function wrapForEachToGenerator<T>(list: T[], forEach: (item: T, index: number, arr: T[]) => (any | Generator<any, any, any>)): Generator<any, any, any>;
13
+ /**
14
+ * 数组 map 回调包装为生成器
15
+ *
16
+ * @description 回调中允许使用生成器
17
+ */
18
+ export declare function wrapMapToGenerator<T, U>(list: T[], map: (item: T, index: number, arr: T[]) => (U | Generator<any, U, any>)): Generator<any, U[], any>;
19
+ //# sourceMappingURL=wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/time-slicing/wrapper.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,4BAEpJ;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,4BAcnI;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,4BAoB1H"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapMapToGenerator = exports.wrapForEachToGenerator = exports.wrapIteratorToGenerator = void 0;
4
+ const utils_1 = require("./utils");
5
+ /**
6
+ * 迭代器包装为生成器
7
+ *
8
+ * @description 回调中允许使用生成器
9
+ */
10
+ function wrapIteratorToGenerator(list, forEach) {
11
+ return wrapForEachToGenerator(Array.from(list), forEach);
12
+ }
13
+ exports.wrapIteratorToGenerator = wrapIteratorToGenerator;
14
+ /**
15
+ * 数组 forEach 回调包装为生成器
16
+ *
17
+ * @description 回调中允许使用生成器
18
+ */
19
+ function wrapForEachToGenerator(list, forEach) {
20
+ const len = list.length;
21
+ return (function* transformListToGenerator() {
22
+ for (let i = 0; i < len; i++) {
23
+ const result = forEach(list[i], i, list);
24
+ if ((0, utils_1.isGenerator)(result)) {
25
+ yield* result;
26
+ }
27
+ yield;
28
+ }
29
+ })();
30
+ }
31
+ exports.wrapForEachToGenerator = wrapForEachToGenerator;
32
+ /**
33
+ * 数组 map 回调包装为生成器
34
+ *
35
+ * @description 回调中允许使用生成器
36
+ */
37
+ function wrapMapToGenerator(list, map) {
38
+ const len = list.length;
39
+ const resultArr = Array(len);
40
+ return (function* transformListToGenerator() {
41
+ for (let i = 0; i < len; i++) {
42
+ const result = map(list[i], i, list);
43
+ if ((0, utils_1.isGenerator)(result)) {
44
+ resultArr[i] = yield* result;
45
+ }
46
+ else {
47
+ resultArr[i] = result;
48
+ }
49
+ yield;
50
+ }
51
+ return resultArr;
52
+ })();
53
+ }
54
+ exports.wrapMapToGenerator = wrapMapToGenerator;
55
+ //# sourceMappingURL=wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/time-slicing/wrapper.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC;;;;GAIG;AACH,SAAgB,uBAAuB,CAAI,IAAyB,EAAE,OAA+E;IACnJ,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAFD,0DAEC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAI,IAAS,EAAE,OAA+E;IAClI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IAExB,OAAO,CAAC,QAAQ,CAAC,CAAC,wBAAwB;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAEzC,IAAI,IAAA,mBAAW,EAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,CAAC,MAAM,CAAC;YAChB,CAAC;YAED,KAAK,CAAC;QACR,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAdD,wDAcC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAO,IAAS,EAAE,GAAuE;IACzH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,MAAM,SAAS,GAAQ,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,CAAC,wBAAwB;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAErC,IAAI,IAAA,mBAAW,EAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;YAC/B,CAAC;iBACI,CAAC;gBACJ,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,KAAK,CAAC;QACR,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AApBD,gDAoBC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 用于遍历的节点接口
3
+ */
4
+ export interface INode {
5
+ children?: Array<INode>;
6
+ [prop: string]: any;
7
+ }
8
+ /**
9
+ * 用于遍历的节点信息
10
+ */
11
+ export interface INodeInfo<T extends INode> {
12
+ node?: T;
13
+ parent?: T;
14
+ stack?: Array<T>;
15
+ nodePath?: string;
16
+ jsonPath?: string;
17
+ index?: number;
18
+ key?: string | number;
19
+ }
20
+ export interface TraverseOptions {
21
+ mode?: 'onlyChildren' | 'onlyArray' | 'anyObject';
22
+ depthFirst?: boolean;
23
+ backTracking?: boolean;
24
+ excludedKeySet?: Set<string>;
25
+ }
26
+ /**
27
+ * 遍历树
28
+ * @param func
29
+ * @param init 初始点信息
30
+ * @param options.mode 'onlyChildren' 表示只向下遍历 children 的元素(默认);'onlyArray' 表示只向下遍历 Array 的元素;'anyObject' 表示只要属性为 Object 类型都会遍历
31
+ * @param options.depthFirst 默认广度优先搜索,是否深度优先搜索
32
+ * @example traverse((current) => console.log(current.node.name), { init: rootNode });
33
+ * @example traverse((current) => console.log(current.jsonPath), { init: ast }, { mode: 'anyObject' });
34
+ */
35
+ export declare function traverse<T extends INode>(func: (current: INodeInfo<T>) => any, init: INodeInfo<T>, options?: TraverseOptions): any;
36
+ export default traverse;
37
+ //# sourceMappingURL=traverse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,KAAK;IACxC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC9B;AAqGD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,OAwB5H;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traverse = void 0;
4
+ const EXCLUDE_RULES = [/^__.*__$/];
5
+ function isExcludeProperty(propertyName) {
6
+ return EXCLUDE_RULES.some((r) => r.test(propertyName));
7
+ }
8
+ function handleNext(func, current, options = {}) {
9
+ if (options.mode === 'onlyChildren') {
10
+ const list = current.node && current.node.children;
11
+ if (!list)
12
+ return;
13
+ for (let index = 0; index < list.length; index++) {
14
+ const child = list[index];
15
+ if (!child)
16
+ continue;
17
+ const nodeInfo = {
18
+ node: child,
19
+ parent: current.node,
20
+ stack: (current.stack ?? []).concat([current.node]),
21
+ nodePath: `${current.nodePath}/${index}`,
22
+ jsonPath: `${current.jsonPath}.children[${index}]`.replace(/^\./, ''),
23
+ index,
24
+ key: index,
25
+ };
26
+ const result = func(nodeInfo);
27
+ // if (result !== undefined)
28
+ // return result;
29
+ }
30
+ }
31
+ else if (options.mode === 'onlyArray') {
32
+ for (const key in current.node) {
33
+ if (!current.node.hasOwnProperty(key) || options.excludedKeySet?.has(key) || isExcludeProperty(key))
34
+ continue;
35
+ const value = current.node[key];
36
+ if (!Array.isArray(value))
37
+ continue;
38
+ const list = value;
39
+ for (let index = 0; index < list.length; index++) {
40
+ const child = list[index];
41
+ if (!child)
42
+ continue;
43
+ const nodeInfo = {
44
+ node: child,
45
+ parent: current.node,
46
+ stack: (current.stack ?? []).concat([current.node]),
47
+ nodePath: `${current.nodePath}/${index}`,
48
+ jsonPath: `${current.jsonPath}.${key}[${index}]`.replace(/^\./, ''),
49
+ index,
50
+ key: index,
51
+ };
52
+ const result = func(nodeInfo);
53
+ // if (result !== undefined)
54
+ // return result;
55
+ }
56
+ }
57
+ }
58
+ else if (options.mode === 'anyObject') {
59
+ for (const key in current.node) {
60
+ if (!current.node.hasOwnProperty(key) || options.excludedKeySet?.has(key) || isExcludeProperty(key))
61
+ continue;
62
+ const value = current.node[key];
63
+ if (Array.isArray(value)) {
64
+ const list = value;
65
+ for (let index = 0; index < list.length; index++) {
66
+ const child = list[index];
67
+ if (!child)
68
+ continue;
69
+ const nodeInfo = {
70
+ node: child,
71
+ parent: current.node,
72
+ stack: (current.stack ?? []).concat([current.node]),
73
+ nodePath: `${current.nodePath}/${index}`,
74
+ jsonPath: `${current.jsonPath}.${key}[${index}]`.replace(/^\./, ''),
75
+ index,
76
+ key: index,
77
+ };
78
+ const result = func(nodeInfo);
79
+ // if (result !== undefined)
80
+ // return result;
81
+ }
82
+ }
83
+ else if (typeof value === 'object' && value !== null) {
84
+ const nodeInfo = {
85
+ node: value,
86
+ parent: current.node,
87
+ stack: (current.stack ?? []).concat([current.node]),
88
+ nodePath: `${current.nodePath}/${key}`,
89
+ jsonPath: `${current.jsonPath}['${key}']`,
90
+ index: undefined,
91
+ key,
92
+ };
93
+ const result = func(nodeInfo);
94
+ // if (result !== undefined)
95
+ // return result;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ function checkCircular(next) {
101
+ if (next.stack && next.stack.length > 100 || Number(next.key) > 10000 || next.index && next.index > 10000)
102
+ console.error(next);
103
+ if (next.stack && next.stack.length > 110 || Number(next.key) > 10010 || next.index && next.index > 10010)
104
+ throw new Error('Circular traverse!');
105
+ return (next.stack ?? []).includes(next.node);
106
+ }
107
+ /**
108
+ * 遍历树
109
+ * @param func
110
+ * @param init 初始点信息
111
+ * @param options.mode 'onlyChildren' 表示只向下遍历 children 的元素(默认);'onlyArray' 表示只向下遍历 Array 的元素;'anyObject' 表示只要属性为 Object 类型都会遍历
112
+ * @param options.depthFirst 默认广度优先搜索,是否深度优先搜索
113
+ * @example traverse((current) => console.log(current.node.name), { init: rootNode });
114
+ * @example traverse((current) => console.log(current.jsonPath), { init: ast }, { mode: 'anyObject' });
115
+ */
116
+ function traverse(func, init, options) {
117
+ // @ts-ignore
118
+ init = { parent: undefined, stack: [], nodePath: '', jsonPath: '', index: undefined, ...init };
119
+ options = { mode: 'onlyChildren', depthFirst: false, backTracking: false, excludedKeySet: new Set(), ...options };
120
+ if (options.depthFirst) {
121
+ if (options.backTracking) {
122
+ handleNext((next) => !checkCircular(next) && traverse(func, next, options), init, options);
123
+ func(init);
124
+ }
125
+ else {
126
+ func(init);
127
+ handleNext((next) => !checkCircular(next) && traverse(func, next, options), init, options);
128
+ }
129
+ }
130
+ else {
131
+ let queue = [];
132
+ queue = queue.concat(init);
133
+ let current;
134
+ while ((current = queue.shift())) {
135
+ const result = func(current);
136
+ if (result !== undefined)
137
+ return result;
138
+ handleNext((next) => !checkCircular(next) && queue.push(next), current, options);
139
+ }
140
+ }
141
+ }
142
+ exports.traverse = traverse;
143
+ exports.default = traverse;
144
+ //# sourceMappingURL=traverse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../src/traverse.ts"],"names":[],"mappings":"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"}
package/out/types.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export type GetPromise<T> = T extends Promise<infer R> ? R : never;
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
package/out/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/out/uuid.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { v4 as uuidv4 } from 'uuid';
2
+ export declare function createUUID(): string;
3
+ export declare function createUniqueKey(): string;
4
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AACD,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
package/out/uuid.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createUniqueKey = exports.createUUID = exports.uuidv4 = void 0;
4
+ const uuid_1 = require("uuid");
5
+ var uuid_2 = require("uuid");
6
+ Object.defineProperty(exports, "uuidv4", { enumerable: true, get: function () { return uuid_2.v4; } });
7
+ function createUUID() {
8
+ return (0, uuid_1.v4)().replace(/-/g, '');
9
+ }
10
+ exports.createUUID = createUUID;
11
+ function createUniqueKey() {
12
+ return (0, uuid_1.v4)().replace(/-/g, '');
13
+ }
14
+ exports.createUniqueKey = createUniqueKey;
15
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAEpC,6BAAoC;AAA3B,8FAAA,EAAE,OAAU;AAErB,SAAgB,UAAU;IACxB,OAAO,IAAA,SAAM,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAFD,gCAEC;AACD,SAAgB,eAAe;IAC7B,OAAO,IAAA,SAAM,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 强制 gc
3
+ *
4
+ * @description Chrome 浏览器使用命令`open -a "Google Chrome" --args --js-flags="--expose-gc"`打开有效
5
+ * @description Nodejs 运行时加入参数`--expose-gc`有效
6
+ */
7
+ export declare function gc(): void;
8
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,EAAE,SAEjB"}
package/out/window.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gc = void 0;
4
+ /**
5
+ * 强制 gc
6
+ *
7
+ * @description Chrome 浏览器使用命令`open -a "Google Chrome" --args --js-flags="--expose-gc"`打开有效
8
+ * @description Nodejs 运行时加入参数`--expose-gc`有效
9
+ */
10
+ function gc() {
11
+ globalThis.gc?.();
12
+ }
13
+ exports.gc = gc;
14
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,EAAE;IACf,UAAkB,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7B,CAAC;AAFD,gBAEC"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@lcap/nasl-utils",
3
+ "description": "NetEase Application Specific Language",
4
+ "version": "3.9.0-beta.1",
5
+ "author": "Forrest <rainforest92@126.com>",
6
+ "main": "./out",
7
+ "types": "./out",
8
+ "source": "./src",
9
+ "license": "MIT",
10
+ "files": [
11
+ "out",
12
+ "README.md",
13
+ "package.json"
14
+ ],
15
+ "devDependencies": {
16
+ "@types/node": "18.11.9",
17
+ "@types/uuid": "9.0.8",
18
+ "rimraf": "5.0.5",
19
+ "tslib": "2.6.2",
20
+ "typescript": "5.4.4",
21
+ "@lcap/nasl-tsconfig": "1.0.1",
22
+ "@lcap/nasl-test-toolkit": "1.0.0"
23
+ },
24
+ "dependencies": {
25
+ "uuid": "8.3.2",
26
+ "@lcap/nasl-types": "3.9.0-beta.1"
27
+ },
28
+ "scripts": {
29
+ "clear": "rimraf ./out",
30
+ "watch": "npm run build -- -w",
31
+ "build": "npm run clear && tsc -p ./tsconfig.build.json",
32
+ "test": "pnpm run --filter @lcap/nasl-test-toolkit test --config $PWD/.mocharc.js",
33
+ "test:ci": "pnpm run --filter @lcap/nasl-test-toolkit test:ci --config $PWD/.mocharc.js"
34
+ }
35
+ }