nv-buf-storage 1.3.4 → 1.3.6

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.
package/TEST/check-ta.js CHANGED
@@ -14,7 +14,7 @@ var si = Date.now();
14
14
  var RNGS = [];
15
15
  while(C<ROUNDS) {
16
16
  var ta = _rnd();
17
- var rng = buf.wta(ta); RNGS.push(rng)
17
+ var rng = buf.wta(ta); RNGS.push(rng)
18
18
  var tata = buf.rta(ta.constructor,rng);
19
19
  deepStrictEqual(ta,tata);
20
20
  if(C%10000===0) {
@@ -0,0 +1,22 @@
1
+ const {deepStrictEqual, strictEqual} = require("assert");
2
+ const x = require("../index");
3
+
4
+ var buf = x();
5
+
6
+ var tenum = 200;
7
+ var k = "abcdef";
8
+
9
+ var rng = buf.w_tenum_key(tenum,k);
10
+ console.log(rng);
11
+ var pair = buf.r_tenum_key(rng);
12
+ console.log(pair);
13
+
14
+ deepStrictEqual(pair,[tenum,k]);
15
+
16
+ var ku8a = Buffer.from(k);
17
+ var rng = buf.w_tenum_kutf8u8a(tenum,ku8a);
18
+ console.log(rng);
19
+ var pair = buf.r_tenum_key(rng);
20
+ console.log(pair);
21
+
22
+
package/const.js ADDED
@@ -0,0 +1,97 @@
1
+ const PRE_LOAD_BYTSZ = 8 + 8*9 +8;
2
+ const _COND_IS_NODE_ENV = typeof globalThis.process === "object" && typeof require === "function";
3
+ const WELLKNOWN_SYMS = Object.values(Object.getOwnPropertyDescriptors(Symbol)).map(r=>r.value).filter(r=>typeof(r)==="symbol");
4
+ const WELLKNOWN_SYM_ST = new Set(WELLKNOWN_SYMS);
5
+ const V8_MP_ST_RGX_PRIMO_CLSNMS = new Set([
6
+ "Map","Set","RegExp","Number","String","Boolean"
7
+ ]);
8
+ const V8_SERIALABLE_NONTA_OBJ_CLSNMS = new Set([
9
+ "ArrayBuffer" ,
10
+ "SharedArrayBuffer" ,
11
+ "Map" ,
12
+ "Set" ,
13
+ "Date" ,
14
+ "RegExp" ,
15
+ "String" ,
16
+ "Number" ,
17
+ "Boolean" ,
18
+ "Error" ,
19
+ "AggregateError" ,
20
+ "EvalError" ,
21
+ "RangeError" ,
22
+ "ReferenceError" ,
23
+ "URIError" ,
24
+ "TypeError" ,
25
+ "SyntaxError" ,
26
+ ]);
27
+ const V8_UNSERIALABLE_OBJ_CLSNMS = new Set([
28
+ "WeakSet","WeakMap","WeakRef","Promise","Iterator"
29
+ ]);
30
+ const TBRIEF_TO_MTHD_HINT = {
31
+ "s": { r: "rstr", w: "wstr", "?": false },
32
+ "f16": { r: "rf16", w: "wf16", "?": true },
33
+ "f32": { r: "rf32", w: "wf32", "?": false },
34
+ "f64": { r: "rf64", w: "wf64", "?": false },
35
+ "u8": { r: "ru8", w: "wu8", "?": false },
36
+ "u16": { r: "ru16", w: "wu16", "?": false },
37
+ "u32": { r: "ru32", w: "wu32", "?": false },
38
+ "u64": { r: "ru64", w: "wu64", "?": false },
39
+ "i8": { r: "ri8", w: "wi8", "?": false },
40
+ "i16": { r: "ri16", w: "wi16", "?": false },
41
+ "i32": { r: "ri32", w: "wi32", "?": false },
42
+ "i64": { r: "ri64", w: "wi64", "?": false },
43
+ ////
44
+ "u8a": { r: "ru8a", w: "wu8a", "?": false },
45
+ "u8ca": { r: "ru8ca", w: "wu8ca", "?": false },
46
+ "u16a": { r: "ru16a", w: "wu16a", "?": false },
47
+ "u32a": { r: "ru32a", w: "wu32a", "?": false },
48
+ "u64a": { r: "ru64a", w: "wu64a", "?": false },
49
+ "i8a": { r: "ri8a", w: "wi8a", "?": false },
50
+ "i16a": { r: "ri16a", w: "wi16a", "?": false },
51
+ "i32a": { r: "ri32a", w: "wi32a", "?": false },
52
+ "i64a": { r: "ri64a", w: "wi64a", "?": false },
53
+ "f16a": { r: "rf16a", w: "wf16a", "?": true },
54
+ "f32a": { r: "rf32a", w: "wf32a", "?": false },
55
+ "f64a": { r: "rf64a", w: "wf64a", "?": false },
56
+ "dv": { r: "rdv", w: "wdv", "?": false } ,
57
+ ////
58
+ "buf" : { r: "rbuf", w: "wbuf", "?": true},
59
+ "blob": { r: "rblob", w: "wblob", "?": true,rtrn_prms:true },
60
+ "file": { r: "rfile", w: "wfile", "?": true,rtrn_prms:true },
61
+ ////
62
+ "json": { r: "rjson", w: "wjson", "?": false },
63
+ "other": {r: "ro", w: "wo", "?": false},
64
+ ////
65
+ "u": {v:undefined},
66
+ "n": {v:null},
67
+ "t": {v:true},
68
+ "f": {v:false},
69
+ "gy" : {f:(self,si,ei)=>Symbol.for(self.rstr([si,ei]))},
70
+ "ly_wn" : {f:(self,si,ei)=>Symbol[self.rstr([si,ei])]},
71
+ "ly_un" : {v:Symbol()},
72
+ "ly" : {f:(self,si,ei)=>Symbol(self.rstr([si,ei]))},
73
+ ////
74
+
75
+ ////-------------------------------------
76
+ "flike":{unsupported:true},
77
+ "wkst":{unsupported:true},
78
+ "wkmp":{unsupported:true},
79
+ "wkref":{unsupported:true},
80
+ "prms":{unsupported:true},
81
+ "iter":{unsupported:true},
82
+ "sg":{unsupported:true},
83
+ "ag":{unsupported:true},
84
+ "unsupported":{unsupported:true},
85
+ ////----------------------------------------
86
+ };
87
+
88
+ module.exports = {
89
+ PRE_LOAD_BYTSZ,
90
+ _COND_IS_NODE_ENV,
91
+ WELLKNOWN_SYMS,
92
+ WELLKNOWN_SYM_ST,
93
+ V8_MP_ST_RGX_PRIMO_CLSNMS,
94
+ V8_SERIALABLE_NONTA_OBJ_CLSNMS,
95
+ V8_UNSERIALABLE_OBJ_CLSNMS,
96
+ TBRIEF_TO_MTHD_HINT
97
+ }
package/index.d.ts CHANGED
@@ -16,10 +16,24 @@ export class Buf {
16
16
  rstr(r: Range): string;
17
17
  wstr(s: string): Range;
18
18
 
19
+ rsym(r: Range): GLobalSymbol|WellKnownSymbol;
20
+ wsym(o:GLobalSymbol|WellKnownSymbol): Range;
21
+
22
+
19
23
  // json
20
24
  rjson(r: Range): any;
21
25
  wjson(o: any): Range;
22
26
 
27
+ rta(r: Range): ArrayBufferView
28
+ wta(o:ArrayBufferView): Range;
29
+
30
+ rblob(r: Range): Blob;
31
+ wblob(o:Blob): Promise<Range>;
32
+
33
+ rfile(r: Range): File;
34
+ wfile(o:File): Promise<Range>;
35
+
36
+
23
37
  // object (v8 serializer)
24
38
  ro(r: Range): any;
25
39
  wo(o: any): Range;
@@ -56,6 +70,10 @@ export class Buf {
56
70
  wf32(n: number, algn?: boolean): Range;
57
71
  wf64(n: number, algn?: boolean): Range;
58
72
 
73
+
74
+ wmts(o:Date):Range;
75
+ rmts(r: Range):Date;
76
+
59
77
  // typed arrays read
60
78
  ru8a(r: Range): Uint8Array;
61
79
  ru8ca(r: Range): Uint8ClampedArray;
package/index.js CHANGED
@@ -1,13 +1,14 @@
1
1
  const {is_overlaped,get_cls_from_dump_fst_byte} = require("nv-facutil-slct-ta");
2
- const _fl = require("nv-buf-free-list2");
3
- const _util = require("./util");
4
-
2
+ const _fl = require("nv-buf-free-list2");
3
+ const _tname = require("nv-type-name");
4
+ const _util = require("./util");
5
+ const _const = require("./const");
5
6
  const ScalableStorage = require("./clses/scalable");
6
7
  const NonScalableStorage = require("./clses/non-scalable");
7
8
 
9
+ const {_COND_IS_NODE_ENV} = require("./const");
8
10
 
9
11
  const {
10
- _COND_IS_NODE_ENV,
11
12
  read_sz_from_sz_buf,
12
13
  sync_read_segment_from_file,
13
14
  read_preload_info,
@@ -114,8 +115,10 @@ module.exports.load = load;
114
115
  module.exports.ScalableStorage = ScalableStorage;
115
116
  module.exports.NonScalableStorage = NonScalableStorage;
116
117
  //
117
- module.exports._util = _util;
118
-
118
+ module.exports._util = _util;
119
+ module.exports._const = _const;
120
+ module.exports._tname = _tname;
121
+ //
119
122
  const creat_non_scalable_on_external_ab = (
120
123
  underlying_ab,underlying_offset =0,
121
124
  init_max_alocable_sz=1024*1024*1024*128,