corebasic 1.0.222 → 1.0.223
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/libs/elabase.js +2 -2
- package/libs/elabase.ts +7 -3
- package/package.json +1 -1
package/dist/libs/elabase.js
CHANGED
|
@@ -647,9 +647,9 @@ function getRawKeyValue(arrayBuffer, offset) {
|
|
|
647
647
|
let dataSize = vlq.value;
|
|
648
648
|
offset += vlq.bytes;
|
|
649
649
|
// Optimization: Use subarray() instead of .slice() to make the data payload 100% zero-copy too
|
|
650
|
-
let
|
|
650
|
+
let v = masterView.subarray(offset, offset + dataSize);
|
|
651
651
|
offset += dataSize;
|
|
652
|
-
_val = Essentials.sliceArrayBuffer(arrayBuffer,
|
|
652
|
+
let _val = Essentials.sliceArrayBuffer(arrayBuffer, v.byteOffset, v.byteLength);
|
|
653
653
|
// _val = _val.buffer.slice(_val.byteOffset, _val.byteOffset + _val.byteLength);
|
|
654
654
|
_val.toText = () => bufferToString(_val);
|
|
655
655
|
return { _id, _val, next: offset };
|
package/libs/elabase.ts
CHANGED
|
@@ -771,8 +771,12 @@ function getRawKeyValue(arrayBuffer, offset) {
|
|
|
771
771
|
let keySize = vlq.value;
|
|
772
772
|
offset += vlq.bytes;
|
|
773
773
|
|
|
774
|
+
type ToString = () => string;
|
|
775
|
+
type EnhancedUint8Array = Uint8Array & { toText: ToString };
|
|
776
|
+
type EnhancedBuffer = Buffer & { toText: ToString };
|
|
777
|
+
|
|
774
778
|
// Zero-copy view window bounded strictly to the key bytes
|
|
775
|
-
let _id = masterView.subarray(offset, offset + keySize);
|
|
779
|
+
let _id = masterView.subarray(offset, offset + keySize) as EnhancedUint8Array;
|
|
776
780
|
let _id_string
|
|
777
781
|
_id.toText = () => {
|
|
778
782
|
// Fix: Pass the typed array view itself, NOT the underlying root buffer
|
|
@@ -787,10 +791,10 @@ function getRawKeyValue(arrayBuffer, offset) {
|
|
|
787
791
|
offset += vlq.bytes;
|
|
788
792
|
|
|
789
793
|
// Optimization: Use subarray() instead of .slice() to make the data payload 100% zero-copy too
|
|
790
|
-
let
|
|
794
|
+
let v = masterView.subarray(offset, offset + dataSize);
|
|
791
795
|
offset += dataSize;
|
|
792
796
|
|
|
793
|
-
_val = Essentials.sliceArrayBuffer(arrayBuffer,
|
|
797
|
+
let _val = Essentials.sliceArrayBuffer(arrayBuffer, v.byteOffset, v.byteLength) as EnhancedBuffer
|
|
794
798
|
// _val = _val.buffer.slice(_val.byteOffset, _val.byteOffset + _val.byteLength);
|
|
795
799
|
_val.toText = () => bufferToString(_val)
|
|
796
800
|
return { _id, _val, next: offset };
|