nv-buf-serde 0.0.2

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 (52) hide show
  1. package/DIST/dist.js +25 -0
  2. package/README.md +382 -0
  3. package/TEST/common.js +435 -0
  4. package/TEST/hole-tst.js +31 -0
  5. package/TEST/nd-benchmark.js +17 -0
  6. package/TEST/r-1bstr.js +33 -0
  7. package/TEST/r-2bstr.js +33 -0
  8. package/TEST/r-ab-and-abvw.js +48 -0
  9. package/TEST/r-bi.js +33 -0
  10. package/TEST/r-date.js +28 -0
  11. package/TEST/r-double.js +33 -0
  12. package/TEST/r-int-not-smi.js +28 -0
  13. package/TEST/r-mp-st-circular.js +105 -0
  14. package/TEST/r-odd-ball.js +33 -0
  15. package/TEST/r-packed-double.js +38 -0
  16. package/TEST/r-packed-smi.js +35 -0
  17. package/TEST/r-packed-with-attr.js +40 -0
  18. package/TEST/r-prim-wrap.js +35 -0
  19. package/TEST/r-rgx.js +28 -0
  20. package/TEST/r-smi.js +28 -0
  21. package/TEST/read-bi-contents.js +20 -0
  22. package/TEST/run.js +43 -0
  23. package/TEST/run.sh +29 -0
  24. package/TEST/serde-benchmark.js +17 -0
  25. package/TEST/tst.json +114 -0
  26. package/TEST/tst.v8ser +0 -0
  27. package/TEST/w-1bstr.js +34 -0
  28. package/TEST/w-2bstr.js +34 -0
  29. package/TEST/w-ab-and-abvw.js +60 -0
  30. package/TEST/w-bi.js +33 -0
  31. package/TEST/w-date.js +33 -0
  32. package/TEST/w-double.js +35 -0
  33. package/TEST/w-int-not-smi.js +37 -0
  34. package/TEST/w-mp-st-circular.js +60 -0
  35. package/TEST/w-odd-ball.js +43 -0
  36. package/TEST/w-packed-double.js +40 -0
  37. package/TEST/w-packed-smi.js +38 -0
  38. package/TEST/w-packed-with-attr.js +41 -0
  39. package/TEST/w-prim-wrap.js +41 -0
  40. package/TEST/w-rgx.js +33 -0
  41. package/TEST/w-smi.js +36 -0
  42. package/build.sh +1 -0
  43. package/const.js +181 -0
  44. package/ctx.js +89 -0
  45. package/fixed-cfg.js +6 -0
  46. package/index.js +27 -0
  47. package/misc.js +112 -0
  48. package/package.json +22 -0
  49. package/r.js +646 -0
  50. package/restrict.js +48 -0
  51. package/w.js +510 -0
  52. package/zero-nid.js +21 -0
@@ -0,0 +1,28 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+
13
+ var i32s = [-(2**31)-1,2**31]
14
+ var bufs = i32s.map(r=>v8.serialize(r));
15
+ var abs = bufs.map(buf=>to_ab(buf));
16
+
17
+ var f0 = (buf)=> v8.deserialize(buf);
18
+ var f1 = (ab)=> decd(ab);
19
+
20
+
21
+ for(let i=0;i<i32s.length;++i) {deepStrictEqual(f1(abs[i]),i32s[i])}
22
+
23
+ console.log("OK")
24
+
25
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
26
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
27
+ console.log(sync(1000000,ff0));
28
+ console.log(sync(1000000,ff1));
@@ -0,0 +1,105 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+ var f0 = (buf)=> v8.deserialize(buf);
12
+ var f1 = (ab)=> decd(ab);
13
+
14
+
15
+ var st = new Set([])
16
+ for(let e of [1,1.1,undefined,null,true,false,"abcd","aÿ我𝑒",12345678901234567890n,[],{}]) {st.add(e)}
17
+
18
+
19
+ var dbls = [st]
20
+ var bufs = dbls.map(r=>v8.serialize(r));
21
+ var abs = bufs.map(buf=>to_ab(buf));
22
+
23
+
24
+
25
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),f0(bufs[i]))}
26
+
27
+ console.log("OK")
28
+
29
+
30
+
31
+ var mp = new Map();
32
+
33
+ var dbls = [mp]
34
+ var bufs = dbls.map(r=>v8.serialize(r));
35
+ var abs = bufs.map(buf=>to_ab(buf));
36
+
37
+
38
+
39
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),f0(bufs[i]))}
40
+
41
+ console.log("OK")
42
+
43
+
44
+ let dict = {a:100,b:-0}
45
+ let ary = [0,1,2,3]
46
+ for(let e of [[{},[]],[true,false],[dict,dict],[ary,ary]]) {mp.set(e,e)}
47
+ for(let e of [[]]) {mp.set(e,e)}
48
+ for(let e of [1,1.1,undefined,null,true,false,"abcd","aÿ我𝑒",12345678901234567890n]) {mp.set(e,e)}
49
+
50
+ var dbls = [mp]
51
+ var bufs = dbls.map(r=>v8.serialize(r));
52
+ var abs = bufs.map(buf=>to_ab(buf));
53
+
54
+
55
+
56
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),f0(bufs[i]))}
57
+
58
+ console.log("OK")
59
+
60
+
61
+ var circular = [];
62
+ circular[0] = circular
63
+ circular[1] = {pr:circular[0]}
64
+ circular[2] = mp
65
+ st.add(mp);
66
+ mp.set("set",st);
67
+
68
+ var dbls = [circular]
69
+ var bufs = dbls.map(r=>v8.serialize(r));
70
+ var abs = bufs.map(buf=>to_ab(buf));
71
+
72
+
73
+
74
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),f0(bufs[i]))}
75
+
76
+ console.log("OK")
77
+
78
+
79
+
80
+
81
+ st["top"] = circular; // this will be drop, compatible with v8-impl
82
+ mp["top"] = circular; // this will be drop , compatible with v8-impl
83
+
84
+
85
+
86
+
87
+ var dbls = [circular]
88
+ var bufs = dbls.map(r=>v8.serialize(r));
89
+ var abs = bufs.map(buf=>to_ab(buf));
90
+
91
+
92
+
93
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),f0(bufs[i]))}
94
+
95
+ console.log("OK")
96
+ circular = Array.from({length:500}).map(r=>circular.slice(0));
97
+ circular = circular.flat();
98
+ var dbls = [circular]
99
+ var bufs = dbls.map(r=>v8.serialize(r));
100
+ var abs = bufs.map(buf=>to_ab(buf));
101
+
102
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
103
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
104
+ console.log(sync(2000,ff0));
105
+ console.log(sync(2000,ff1));
@@ -0,0 +1,33 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+
13
+ var bis = [undefined,null,true,false]
14
+ var bufs = bis.map(r=>v8.serialize(r));
15
+ var abs = bufs.map(buf=>to_ab(buf));
16
+
17
+ var f0 = (buf)=> v8.deserialize(buf);
18
+ var f1 = (ab)=> decd(ab);
19
+
20
+
21
+ for(let i=0;i<bis.length;++i) {deepStrictEqual(f1(abs[i]),bis[i])}
22
+
23
+ console.log("OK")
24
+ for(let i = -125000n;i<0n;++i) {bis.push(undefined,null,true,false)}
25
+ for(let i = 1n;i<125000n;++i) {bis.push(undefined,null,true,false)}
26
+ var bufs = bis.map(r=>v8.serialize(r));
27
+ var abs = bufs.map(buf=>to_ab(buf));
28
+
29
+
30
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
31
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
32
+ console.log(sync(1,ff0));
33
+ console.log(sync(1,ff1));
@@ -0,0 +1,38 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+ var packed_double = [-1,-0,1];
13
+
14
+
15
+
16
+ var dbls = [packed_double]
17
+ var bufs = dbls.map(r=>v8.serialize(r));
18
+ var abs = bufs.map(buf=>to_ab(buf));
19
+
20
+ var f0 = (buf)=> v8.deserialize(buf);
21
+ var f1 = (ab)=> decd(ab);
22
+
23
+
24
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),dbls[i])}
25
+
26
+ console.log("OK")
27
+
28
+ for(let i = -500000;i<0;++i) {packed_double.push(Math.random()+i)}
29
+ for(let i = 1;i<500000;++i) {packed_double.push(Math.random()+i)}
30
+
31
+
32
+ var bufs = dbls.map(r=>v8.serialize(r));
33
+ var abs = bufs.map(buf=>to_ab(buf));
34
+
35
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
36
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
37
+ console.log(sync(20,ff0));
38
+ console.log(sync(20,ff1));
@@ -0,0 +1,35 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+ var packed_smi = [-(2**31),-1,0,1,2,3,4,5,2**31-1];
13
+
14
+ var smis = [packed_smi]
15
+ var bufs = smis.map(r=>v8.serialize(r));
16
+ var abs = bufs.map(buf=>to_ab(buf));
17
+
18
+ var f0 = (buf)=> v8.deserialize(buf);
19
+ var f1 = (ab)=> decd(ab);
20
+
21
+
22
+ for(let i=0;i<smis.length;++i) {deepStrictEqual(f1(abs[i]),smis[i])}
23
+
24
+ console.log("OK")
25
+
26
+ //for(let i = -5;i<-1;++i) {packed_smi.unshift(i)}
27
+ //for(let i = 1;i<5;++i) {packed_smi.push(i)}
28
+
29
+ var bufs = smis.map(r=>v8.serialize(r));
30
+ var abs = bufs.map(buf=>to_ab(buf));
31
+
32
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
33
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
34
+ console.log(sync(1000000,ff0));
35
+ console.log(sync(1000000,ff1));
@@ -0,0 +1,40 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+ var packed_with_attr = [-1,-0,1];
13
+ var packed_with_attr = [1,1.1,undefined,null,true,false,"abcd","aÿ我𝑒",12345678901234567890n,[],{}]
14
+ packed_with_attr.k0 = "v0"
15
+ packed_with_attr.k1 = "v1"
16
+
17
+
18
+ var dbls = [packed_with_attr]
19
+ var bufs = dbls.map(r=>v8.serialize(r));
20
+ var abs = bufs.map(buf=>to_ab(buf));
21
+
22
+ var f0 = (buf)=> v8.deserialize(buf);
23
+ var f1 = (ab)=> decd(ab);
24
+
25
+
26
+ for(let i=0;i<dbls.length;++i) {deepStrictEqual(f1(abs[i]),dbls[i])}
27
+
28
+ console.log("OK")
29
+
30
+ packed_with_attr = Array.from({length:50000}).map(r=>packed_with_attr.slice(0));
31
+ packed_with_attr = packed_with_attr.flat();
32
+
33
+ var dbls = [packed_with_attr]
34
+ var bufs = dbls.map(r=>v8.serialize(r));
35
+ var abs = bufs.map(buf=>to_ab(buf));
36
+
37
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
38
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
39
+ console.log(sync(20,ff0));
40
+ console.log(sync(20,ff1));
@@ -0,0 +1,35 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+
13
+ var trwap = new Boolean(true);
14
+ var fwrap = new Boolean(false);
15
+ var num_wrap = new Number(1.1);
16
+ //var bi_wrap = new BigInt(12345678901234567890234567890n); in-js-layer this is invalid
17
+ var _1bs_wrap = new String("abcd");
18
+ var _2bs_wrap = new String("aÿ我𝑒");
19
+
20
+ var wraps = [trwap,fwrap,num_wrap,_1bs_wrap,_2bs_wrap/*bi_wrap*/]
21
+ var bufs = wraps.map(r=>v8.serialize(r));
22
+ var abs = bufs.map(buf=>to_ab(buf));
23
+
24
+ var f0 = (buf)=> v8.deserialize(buf);
25
+ var f1 = (ab)=> decd(ab);
26
+
27
+
28
+ for(let i=0;i<wraps.length;++i) {deepStrictEqual(f1(abs[i]),wraps[i])}
29
+
30
+ console.log("OK")
31
+
32
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
33
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
34
+ console.log(sync(1000000,ff0));
35
+ console.log(sync(1000000,ff1));
package/TEST/r-rgx.js ADDED
@@ -0,0 +1,28 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+
13
+ var rgxs = [/[a-z0-9_]+/,/[a-z0-9_]+/gi];
14
+ var bufs = rgxs.map(r=>v8.serialize(r));
15
+ var abs = bufs.map(buf=>to_ab(buf));
16
+
17
+ var f0 = (buf)=> v8.deserialize(buf);
18
+ var f1 = (ab)=> decd(ab);
19
+
20
+
21
+ for(let i=0;i<rgxs.length;++i) {deepStrictEqual(f1(abs[i]),rgxs[i])}
22
+
23
+ console.log("OK")
24
+
25
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
26
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
27
+ console.log(sync(1000000,ff0));
28
+ console.log(sync(1000000,ff1));
package/TEST/r-smi.js ADDED
@@ -0,0 +1,28 @@
1
+ const {deepStrictEqual} = require("assert");
2
+ const {sync} = require("nv-facutil-simple-test");
3
+ const v8 = require("v8");
4
+
5
+ const {decd} = require("../r");
6
+
7
+ const ENCD_UN = 0X5F;
8
+ const ENCD_NU = 0X30;
9
+
10
+ const to_ab = (buf) => buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength);
11
+
12
+
13
+ var smis = [-(2**31),-1,0,1,2**31-1]
14
+ var bufs = smis.map(r=>v8.serialize(r));
15
+ var abs = bufs.map(buf=>to_ab(buf));
16
+
17
+ var f0 = (buf)=> v8.deserialize(buf);
18
+ var f1 = (ab)=> decd(ab);
19
+
20
+
21
+ for(let i=0;i<smis.length;++i) {deepStrictEqual(f1(abs[i]),smis[i])}
22
+
23
+ console.log("OK")
24
+
25
+ var ff0 = ()=>bufs.forEach(buf=>f0(buf));
26
+ var ff1 = ()=>abs.forEach(ab=>f1(ab));
27
+ console.log(sync(1000000,ff0));
28
+ console.log(sync(1000000,ff1));
@@ -0,0 +1,20 @@
1
+ const assert = require("assert");
2
+
3
+ const v8 = require("v8");
4
+ const {ReadBigInt} = require("../r");
5
+
6
+ console.log("10000n+2n**64n :" ,10000n+2n**64n)
7
+
8
+ var buf = v8.serialize(-(10000n+2n**64n));
9
+
10
+ console.log(buf);
11
+
12
+ console.log(ReadBigInt(buf,3,{}));
13
+
14
+ assert(v8.deserialize(buf)=== ReadBigInt(buf,3,{})[0])
15
+
16
+ var buf = v8.serialize((10000n+2n**64n));
17
+ console.log(ReadBigInt(buf,3,{}));
18
+
19
+
20
+ assert(v8.deserialize(buf)=== ReadBigInt(buf,3,{})[0])
package/TEST/run.js ADDED
@@ -0,0 +1,43 @@
1
+ const cmds = [
2
+ 'node w-1bstr.js',
3
+ 'node w-2bstr.js',
4
+ 'node w-bi.js',
5
+ 'node w-double.js',
6
+ 'node w-int-not-smi.js',
7
+ 'node w-odd-ball.js',
8
+ 'node w-packed-double.js',
9
+ 'node w-packed-smi.js',
10
+ 'node w-prim-wrap.js',
11
+ 'node w-smi.js',
12
+ 'node w-packed-with-attr.js',
13
+ 'node w-ab-and-abvw.js',
14
+ 'node w-date.js',
15
+ 'node w-rgx.js',
16
+ 'node w-mp-st-circular.js',
17
+
18
+ 'node r-1bstr.js',
19
+ 'node r-2bstr.js',
20
+ 'node r-bi.js',
21
+ 'node r-double.js',
22
+ 'node r-int-not-smi.js',
23
+ 'node r-odd-ball.js',
24
+ 'node r-packed-double.js',
25
+ 'node r-packed-smi.js',
26
+ 'node r-prim-wrap.js',
27
+ 'node r-smi.js',
28
+ 'node r-packed-with-attr.js',
29
+ 'node r-ab-and-abvw.js',
30
+ 'node r-date.js',
31
+ 'node r-rgx.js',
32
+ 'node r-mp-st-circular.js'
33
+ ]
34
+
35
+ const child_process = require("child_process");
36
+
37
+ for(let cmd of cmds) {
38
+ console.log(cmd,":");
39
+ console.log(child_process.execSync(cmd));
40
+ console.log("=============================================================");
41
+ }
42
+
43
+
package/TEST/run.sh ADDED
@@ -0,0 +1,29 @@
1
+ echo "w-1bstr.js" && node w-1bstr.js
2
+ echo "w-2bstr.js" && node w-2bstr.js
3
+ echo "w-bi.js" && node w-bi.js
4
+ echo "w-double.js" && node w-double.js
5
+ echo "w-int-not-smi.js" && node w-int-not-smi.js
6
+ echo "w-odd-ball.js" && node w-odd-ball.js
7
+ echo "w-packed-double.js" && node w-packed-double.js
8
+ echo "w-packed-smi.js" && node w-packed-smi.js
9
+ echo "w-prim-wrap.js" && node w-prim-wrap.js
10
+ echo "w-smi.js" && node w-smi.js
11
+ echo "w-packed-with-attr.js" && node w-packed-with-attr.js
12
+ echo "w-ab-and-abvw.js" && node w-ab-and-abvw.js
13
+ echo "w-date.js" && node w-date.js
14
+ echo "w-rgx.js" && node w-rgx.js
15
+ echo "r-1bstr.js" && node r-1bstr.js
16
+ echo "r-2bstr.js" && node r-2bstr.js
17
+ echo "r-bi.js" && node r-bi.js
18
+ echo "r-double.js" && node r-double.js
19
+ echo "r-int-not-smi.js" && node r-int-not-smi.js
20
+ echo "r-odd-ball.js" && node r-odd-ball.js
21
+ echo "r-packed-double.js" && node r-packed-double.js
22
+ echo "r-packed-smi.js" && node r-packed-smi.js
23
+ echo "r-prim-wrap.js" && node r-prim-wrap.js
24
+ echo "r-smi.js" && node r-smi.js
25
+ echo "r-packed-with-attr.js" && node r-packed-with-attr.js
26
+ echo "r-ab-and-abvw.js" && node r-ab-and-abvw.js
27
+ echo "r-date.js" && node r-date.js
28
+ echo "r-rgx.js" && node r-rgx.js
29
+ echo "r-mp-st-circular.js" && node r-mp-st-circular.js
@@ -0,0 +1,17 @@
1
+ const common = require('./common.js');
2
+ const {encd} = require("../w.js")
3
+
4
+ const bench = common.createBenchmark(main, {
5
+ len: [1,2,4,8],
6
+ n: [1000000],
7
+ });
8
+
9
+ function main({ n, len }) {
10
+ const typedArray = new BigUint64Array(len);
11
+ bench.start();
12
+ for (let i = 0; i < n; i++) encd({ a: 1, b: typedArray });
13
+ bench.end(n);
14
+ }
15
+
16
+
17
+
package/TEST/tst.json ADDED
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "nv-buf-serde",
3
+ "lockfileVersion": 3,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "dependencies": {
8
+ "nv-buf-bi": "^1.0.5",
9
+ "nv-buf-jstr": "^1.0.8",
10
+ "nv-facutil-ab": "^1.0.0",
11
+ "nv-facutil-istis": "^1.0.6",
12
+ "nv-facutil-ppgflike-is": "^1.0.1",
13
+ "nv-facutil-thrw": "^1.0.2",
14
+ "nv-number-zigzag": "^1.0.1",
15
+ "nv-regexp-flags": "^1.0.1"
16
+ }
17
+ },
18
+ "node_modules/nanoid": {
19
+ "version": "3.3.6",
20
+ "funding": [
21
+ {
22
+ "type": "github",
23
+ "url": "https://github.com/sponsors/ai"
24
+ }
25
+ ],
26
+ "license": "MIT",
27
+ "bin": {
28
+ "nanoid": "bin/nanoid.cjs"
29
+ },
30
+ "engines": {
31
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
32
+ }
33
+ },
34
+ "node_modules/nv-buf-bi": {
35
+ "version": "1.0.5",
36
+ "license": "ISC"
37
+ },
38
+ "node_modules/nv-buf-jstr": {
39
+ "version": "1.0.8",
40
+ "license": "ISC"
41
+ },
42
+ "node_modules/nv-error-simple-trace": {
43
+ "version": "1.0.2",
44
+ "license": "ISC"
45
+ },
46
+ "node_modules/nv-facutil-ab": {
47
+ "version": "1.0.0",
48
+ "license": "ISC"
49
+ },
50
+ "node_modules/nv-facutil-basic": {
51
+ "version": "1.3.20",
52
+ "resolved": "https://registry.npmjs.org/nv-facutil-basic/-/nv-facutil-basic-1.3.20.tgz",
53
+ "integrity": "sha512-eGkAie/avH6ApghzuVApbszkwD8OX9d4u3Vl0pZnm0sV9etwdHn1trAFVTeMzadP9KMANCDI+ICwVY/a/KBKvw==",
54
+ "deprecated": "all-test-builtin-features-has-been-implemented-in-nvlang_this-is-useless-now",
55
+ "dependencies": {
56
+ "nanoid": "^3.1.22",
57
+ "nv-facutil-notandor": "^1.0.5"
58
+ }
59
+ },
60
+ "node_modules/nv-facutil-istis": {
61
+ "version": "1.0.6",
62
+ "resolved": "https://registry.npmjs.org/nv-facutil-istis/-/nv-facutil-istis-1.0.6.tgz",
63
+ "integrity": "sha512-k0Vfu6ZkZEOkT/zfJ443DrwAHrxqtjAmE9BDGLY6ujoRneAcZFasuAElhzeDAMyOZbDjD5jzqnYZia2ECbmugQ==",
64
+ "dependencies": {
65
+ "nv-facutil-simple-test": "^0.0.13",
66
+ "nv-facutil-typis": "^1.0.3"
67
+ }
68
+ },
69
+ "node_modules/nv-facutil-notandor": {
70
+ "version": "1.0.5",
71
+ "license": "ISC"
72
+ },
73
+ "node_modules/nv-facutil-ppgflike-is": {
74
+ "version": "1.0.1",
75
+ "license": "ISC",
76
+ "dependencies": {
77
+ "nv-facutil-typis": "^1.0.5",
78
+ "nv-facutil-untf": "^1.0.2"
79
+ }
80
+ },
81
+ "node_modules/nv-facutil-simple-test": {
82
+ "version": "0.0.13",
83
+ "license": "ISC",
84
+ "dependencies": {
85
+ "nv-error-simple-trace": "^1.0.2",
86
+ "nv-facutil-basic": "^1.3.20"
87
+ }
88
+ },
89
+ "node_modules/nv-facutil-thrw": {
90
+ "version": "1.0.2",
91
+ "resolved": "https://registry.npmjs.org/nv-facutil-thrw/-/nv-facutil-thrw-1.0.2.tgz",
92
+ "integrity": "sha512-r6+40+SxZkgtKUh/DMF58q7LUlmy2D5Nmmy0dsGU34taAil9TzYQhXL5+aMAyxz/nni3P4rWfYmDlVMvlxI8tA==",
93
+ "dependencies": {
94
+ "nv-facutil-typis": "^1.0.3"
95
+ }
96
+ },
97
+ "node_modules/nv-facutil-typis": {
98
+ "version": "1.0.5",
99
+ "license": "ISC"
100
+ },
101
+ "node_modules/nv-facutil-untf": {
102
+ "version": "1.0.2",
103
+ "license": "ISC"
104
+ },
105
+ "node_modules/nv-number-zigzag": {
106
+ "version": "1.0.1",
107
+ "license": "ISC"
108
+ },
109
+ "node_modules/nv-regexp-flags": {
110
+ "version": "1.0.1",
111
+ "license": "ISC"
112
+ }
113
+ }
114
+ }
package/TEST/tst.v8ser ADDED
Binary file
@@ -0,0 +1,34 @@
1
+ const {sync} = require("nv-facutil-simple-test");
2
+ const v8 = require("v8");
3
+ const eq = (b0,b1)=> {
4
+ var u8a = new Uint8Array(b1);
5
+ for(let i =0;i<b0.length;++i) {
6
+ if(b0[i] === u8a[i]) {
7
+
8
+ } else {
9
+ throw(i)
10
+ }
11
+ }
12
+ }
13
+ var fj = (o)=> JSON.stringify(o);
14
+ const {encd} = require("../w");
15
+
16
+ const ENCD_UN = 0X5F;
17
+ const ENCD_NU = 0X30;
18
+
19
+
20
+ var f0 = (o)=> v8.serialize(o);
21
+ var f1 = (o)=> encd(o,15); //version default is 15 , using 13 just for test
22
+
23
+
24
+
25
+ var _1bs = "abcd";
26
+ _1bs = _1bs.repeat(256);
27
+
28
+
29
+ eq(f0(_1bs),f1(_1bs));
30
+
31
+
32
+ console.log(sync(100000,f0,_1bs));
33
+ console.log(sync(100000,f1,_1bs));
34
+
@@ -0,0 +1,34 @@
1
+ const {sync} = require("nv-facutil-simple-test");
2
+ const v8 = require("v8");
3
+ const eq = (b0,b1)=> {
4
+ var u8a = new Uint8Array(b1);
5
+ for(let i =0;i<b0.length;++i) {
6
+ if(b0[i] === u8a[i]) {
7
+
8
+ } else {
9
+ throw(i)
10
+ }
11
+ }
12
+ }
13
+ var fj = (o)=> JSON.stringify(o);
14
+ const {encd} = require("../w");
15
+
16
+ const ENCD_UN = 0X5F;
17
+ const ENCD_NU = 0X30;
18
+
19
+
20
+ var f0 = (o)=> v8.serialize(o);
21
+ var f1 = (o)=> encd(o,15); //version default is 15 , using 13 just for test
22
+
23
+
24
+
25
+ var _2bs = "aÿ我𝑒";
26
+ _2bs = _2bs.repeat(32);
27
+
28
+
29
+ eq(f0(_2bs),f1(_2bs));
30
+
31
+
32
+ console.log(sync(100000,f0,_2bs));
33
+ console.log(sync(100000,f1,_2bs));
34
+