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/DIST/nv-buf-storage-bw.js +11 -7
- package/README.md +34 -0
- package/TEST/check-blob.js +19 -0
- package/TEST/check-ta.js +1 -1
- package/TEST/check-tenum-k.js +22 -0
- package/const.js +97 -0
- package/index.d.ts +18 -0
- package/index.js +9 -6
- package/mthds/cmmn.js +519 -112
- package/package.json +5 -3
- package/util.js +3 -3
package/TEST/check-ta.js
CHANGED
|
@@ -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
|
|
3
|
-
const
|
|
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
|
|
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,
|