@peerbit/test-utils 2.0.43 → 2.1.0-0b8baa8

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.
@@ -0,0 +1,5 @@
1
+ export declare const printMemoryUsage: (memoryUsages: {
2
+ value: number;
3
+ progress: number;
4
+ }[], progressColumnName?: string) => void;
5
+ //# sourceMappingURL=log-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-utils.d.ts","sourceRoot":"","sources":["../../src/log-utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,iBACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,uBAC/B,MAAM,SAsD1B,CAAC"}
@@ -0,0 +1,49 @@
1
+ /* eslint-disable no-console */
2
+ import Table from "tty-table";
3
+ export const printMemoryUsage = (memoryUsages, progressColumnName = "progress") => {
4
+ // do ascii graph
5
+ let max = Math.max(...memoryUsages.map((x) => x.value));
6
+ let min = Math.min(...memoryUsages.map((x) => x.value));
7
+ let range = max - min;
8
+ let steps = 300;
9
+ let step = range / steps;
10
+ let buckets = Array.from({ length: steps }, (_, i) => {
11
+ return min + i * step;
12
+ });
13
+ let lines = memoryUsages.map((memory) => {
14
+ /* let bucket = Math.floor((memory - min) / step) */
15
+ return Array.from({ length: steps }, (_, i) => {
16
+ return memory.value > buckets[i] ? "█" : " ";
17
+ }).join("");
18
+ });
19
+ console.log("Memory Usage Graph");
20
+ // do a nicely tty-table formatted table with "Memory ascii", "Memory bytes (mb)", "# of inserts".
21
+ const colorString = (bytes, string) => {
22
+ // color encode byte values so that the highest get red color and lowest get green color
23
+ // and values in between get a color in in shades of red and green
24
+ let colors = Array.from({ length: steps + 1 }, (_, i) => {
25
+ let r = Math.floor(255 * (i / steps));
26
+ let g = Math.floor(255 * ((steps - i) / steps));
27
+ let b = 0;
28
+ return `38;2;${r};${g};${b}`;
29
+ });
30
+ let bucket = Math.floor((bytes - min) / step);
31
+ let color = colors[bucket];
32
+ return `\x1b[${color}m${string}\x1b[0m`;
33
+ };
34
+ let table = Table([
35
+ { value: "Memory usage (*)", width: steps + 2, align: "left" },
36
+ { value: "Memory bytes (mb)" },
37
+ { value: progressColumnName },
38
+ ], lines.map((line, i) => {
39
+ return [
40
+ { value: colorString(memoryUsages[i].value, line) },
41
+ { value: Math.round(memoryUsages[i].value / 1e6) },
42
+ { value: memoryUsages[i].progress /* insertBatchSize * (i + 1) */ },
43
+ ];
44
+ }));
45
+ console.log(table.render());
46
+ console.log("Max memory usage", Math.round(max / 1e6), "mb");
47
+ console.log("Min memory usage", Math.round(min / 1e6), "mb");
48
+ };
49
+ //# sourceMappingURL=log-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-utils.js","sourceRoot":"","sources":["../../src/log-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EACN,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEhE,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1E,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAY;gBACd,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAKrE,IAAW,KAAK,IAAI,aAAa,EAAE,CAElC;IAEK,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE;IAIlC,IAAI;WAKG,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAY9D,YAAY,CACxB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;CA+B1C"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EACN,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEhE,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1E,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAY;gBACd,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAKrE,IAAW,KAAK,IAAI,aAAa,EAAE,CAElC;IAEK,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE;IAIlC,IAAI;WAKG,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAY9D,YAAY,CACxB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;CAkC1C"}
@@ -44,6 +44,9 @@ export class TestSession {
44
44
  ...o?.libp2p?.services,
45
45
  }, /// TODO types
46
46
  streamMuxers: [yamux()],
47
+ connectionMonitor: {
48
+ enabled: false,
49
+ },
47
50
  };
48
51
  };
49
52
  let optionsWithServices = Array.isArray(options)
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEN,YAAY,IAAI,mBAAmB,GACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAIN,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,MAAM,OAAO,WAAW;IACf,OAAO,CAAiC;IACxC,MAAM,CAAY;IAC1B,YAAY,OAAuC,EAAE,KAAgB;QACpE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA0B;QACvC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IACD,KAAK,CAAC,IAAI;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uEAAuE;IACpI,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,OAAyC;QAC1E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,aAAa;QACb,MAAM,mBAAmB,CACxB,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAkC,CACpD,CACD,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,CAAS,EACT,OAAyC;QAEzC,MAAM,CAAC,GAAG,CAAC,CAAiB,EAAmC,EAAE;YAChE,OAAO;gBACN,GAAG,CAAC,EAAE,MAAM;gBACZ,QAAQ,EAAE;oBACT,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;oBACtC,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;oBAC/D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE;oBACrC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ;iBACf,EAAE,cAAc;gBACxB,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;gBACvB,iBAAiB,EAAE;oBAClB,OAAO,EAAE,KAAK;iBACd;aACD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,mBAAmB,GAEgB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5D,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACpE,OAAO,IAAI,WAAW,CACrB,OAAO,EACP,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAC3B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;YAClE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAC/D,CACD,CAAc,CACf,CAAC;IACH,CAAC;CACD"}
package/package.json CHANGED
@@ -1,77 +1,81 @@
1
1
  {
2
- "name": "@peerbit/test-utils",
3
- "version": "2.0.43",
4
- "description": "Test utils for Peerbit",
5
- "sideEffects": false,
6
- "type": "module",
7
- "types": "./dist/src/index.d.ts",
8
- "typesVersions": {
9
- "*": {
10
- "*": [
11
- "*",
12
- "dist/*",
13
- "dist/src/*",
14
- "dist/src/*/index"
15
- ],
16
- "src/*": [
17
- "*",
18
- "dist/*",
19
- "dist/src/*",
20
- "dist/src/*/index"
21
- ]
22
- }
23
- },
24
- "files": [
25
- "src",
26
- "dist",
27
- "!dist/e2e",
28
- "!dist/test",
29
- "!**/*.tsbuildinfo"
30
- ],
31
- "exports": {
32
- ".": {
33
- "types": "./dist/src/index.d.ts",
34
- "import": "./dist/src/index.js"
35
- }
36
- },
37
- "eslintConfig": {
38
- "extends": "peerbit",
39
- "parserOptions": {
40
- "project": true,
41
- "sourceType": "module"
42
- },
43
- "ignorePatterns": [
44
- "!.aegir.js",
45
- "test/ts-use",
46
- "*.d.ts"
47
- ]
48
- },
49
- "publishConfig": {
50
- "access": "public"
51
- },
52
- "scripts": {
53
- "clean": "aegir clean",
54
- "build": "aegir build --no-bundle",
55
- "test": "aegir test -t node",
56
- "lint": "aegir lint"
57
- },
58
- "repository": {
59
- "type": "git",
60
- "url": "https://github.com/dao-xyz/peerbit"
61
- },
62
- "engines": {
63
- "node": ">=16.15.1"
64
- },
65
- "author": "dao.xyz",
66
- "license": "MIT",
67
- "dependencies": {
68
- "@peerbit/libp2p-test-utils": "2.1.5",
69
- "peerbit": "4.0.17"
70
- },
71
- "devDependencies": {
72
- "@peerbit/time": "2.0.7"
73
- },
74
- "localMaintainers": [
75
- "dao.xyz"
76
- ]
2
+ "name": "@peerbit/test-utils",
3
+ "version": "2.1.0-0b8baa8",
4
+ "description": "Test utils for Peerbit",
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "types": "./dist/src/index.d.ts",
8
+ "typesVersions": {
9
+ "*": {
10
+ "*": [
11
+ "*",
12
+ "dist/*",
13
+ "dist/src/*",
14
+ "dist/src/*/index"
15
+ ],
16
+ "src/*": [
17
+ "*",
18
+ "dist/*",
19
+ "dist/src/*",
20
+ "dist/src/*/index"
21
+ ]
22
+ }
23
+ },
24
+ "files": [
25
+ "src",
26
+ "dist",
27
+ "!dist/e2e",
28
+ "!dist/test",
29
+ "!**/*.tsbuildinfo"
30
+ ],
31
+ "exports": {
32
+ "./log-utils.js": {
33
+ "types": "./dist/src/log-utils.d.ts",
34
+ "import": "./dist/src/log-utils.js"
35
+ },
36
+ ".": {
37
+ "types": "./dist/src/index.d.ts",
38
+ "import": "./dist/src/index.js"
39
+ }
40
+ },
41
+ "eslintConfig": {
42
+ "extends": "peerbit",
43
+ "parserOptions": {
44
+ "project": true,
45
+ "sourceType": "module"
46
+ },
47
+ "ignorePatterns": [
48
+ "!.aegir.js",
49
+ "test/ts-use",
50
+ "*.d.ts"
51
+ ]
52
+ },
53
+ "publishConfig": {
54
+ "access": "public"
55
+ },
56
+ "scripts": {
57
+ "clean": "aegir clean",
58
+ "build": "aegir build --no-bundle",
59
+ "test": "aegir test -t node",
60
+ "lint": "aegir lint"
61
+ },
62
+ "repository": {
63
+ "type": "git",
64
+ "url": "https://github.com/dao-xyz/peerbit"
65
+ },
66
+ "engines": {
67
+ "node": ">=16.15.1"
68
+ },
69
+ "author": "dao.xyz",
70
+ "license": "MIT",
71
+ "dependencies": {
72
+ "@peerbit/libp2p-test-utils": "2.1.6-0b8baa8",
73
+ "peerbit": "4.0.18-0b8baa8"
74
+ },
75
+ "devDependencies": {
76
+ "@peerbit/time": "2.0.7-0b8baa8"
77
+ },
78
+ "localMaintainers": [
79
+ "dao.xyz"
80
+ ]
77
81
  }
@@ -0,0 +1,60 @@
1
+ /* eslint-disable no-console */
2
+ import Table from "tty-table";
3
+
4
+ export const printMemoryUsage = (
5
+ memoryUsages: { value: number; progress: number }[],
6
+ progressColumnName: string = "progress",
7
+ ) => {
8
+ // do ascii graph
9
+ let max = Math.max(...memoryUsages.map((x) => x.value));
10
+ let min = Math.min(...memoryUsages.map((x) => x.value));
11
+ let range = max - min;
12
+ let steps = 300;
13
+ let step = range / steps;
14
+ let buckets = Array.from({ length: steps }, (_, i) => {
15
+ return min + i * step;
16
+ });
17
+ let lines = memoryUsages.map((memory) => {
18
+ /* let bucket = Math.floor((memory - min) / step) */
19
+ return Array.from({ length: steps }, (_, i) => {
20
+ return memory.value > buckets[i] ? "█" : " ";
21
+ }).join("");
22
+ });
23
+
24
+ console.log("Memory Usage Graph");
25
+
26
+ // do a nicely tty-table formatted table with "Memory ascii", "Memory bytes (mb)", "# of inserts".
27
+
28
+ const colorString = (bytes: number, string: string) => {
29
+ // color encode byte values so that the highest get red color and lowest get green color
30
+ // and values in between get a color in in shades of red and green
31
+ let colors = Array.from({ length: steps + 1 }, (_, i) => {
32
+ let r = Math.floor(255 * (i / steps));
33
+ let g = Math.floor(255 * ((steps - i) / steps));
34
+ let b = 0;
35
+ return `38;2;${r};${g};${b}`;
36
+ });
37
+ let bucket = Math.floor((bytes - min) / step);
38
+ let color = colors[bucket];
39
+ return `\x1b[${color}m${string}\x1b[0m`;
40
+ };
41
+
42
+ let table = Table(
43
+ [
44
+ { value: "Memory usage (*)", width: steps + 2, align: "left" },
45
+ { value: "Memory bytes (mb)" },
46
+ { value: progressColumnName },
47
+ ],
48
+ lines.map((line, i) => {
49
+ return [
50
+ { value: colorString(memoryUsages[i].value, line) },
51
+ { value: Math.round(memoryUsages[i].value / 1e6) },
52
+ { value: memoryUsages[i].progress /* insertBatchSize * (i + 1) */ },
53
+ ];
54
+ }),
55
+ );
56
+
57
+ console.log(table.render());
58
+ console.log("Max memory usage", Math.round(max / 1e6), "mb");
59
+ console.log("Min memory usage", Math.round(min / 1e6), "mb");
60
+ };
package/src/session.ts CHANGED
@@ -66,6 +66,9 @@ export class TestSession {
66
66
  ...o?.libp2p?.services,
67
67
  } as any, /// TODO types
68
68
  streamMuxers: [yamux()],
69
+ connectionMonitor: {
70
+ enabled: false,
71
+ },
69
72
  };
70
73
  };
71
74
  let optionsWithServices: