Initial commit

This commit is contained in:
2026-04-15 17:08:39 +02:00
parent ae164c47a8
commit 47fd1c2b7a
1819 changed files with 685388 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
export default class BitVector {
private readonly values;
private readonly _size;
/**
* @param values The byte buffer containing the bit values in least-significant bit (LSB)
* numbering
*/
constructor(values: Uint8Array, size: number);
get(index: number): boolean;
set(index: number, value: boolean): void;
getInt(index: number): number;
size(): number;
getBuffer(): Uint8Array;
}
+35
View File
@@ -0,0 +1,35 @@
export default class BitVector {
/**
* @param values The byte buffer containing the bit values in least-significant bit (LSB)
* numbering
*/
constructor(values, size) {
this.values = values;
this._size = size;
}
get(index) {
const byteIndex = Math.floor(index / 8);
const bitIndex = index % 8;
const b = this.values[byteIndex];
return ((b >> bitIndex) & 1) === 1;
}
set(index, value) {
//TODO: refactor -> improve quick and dirty solution
const byteIndex = Math.floor(index / 8);
const bitIndex = index % 8;
this.values[byteIndex] = this.values[byteIndex] | ((value ? 1 : 0) << bitIndex);
}
getInt(index) {
const byteIndex = Math.floor(index / 8);
const bitIndex = index % 8;
const b = this.values[byteIndex];
return (b >> bitIndex) & 1;
}
size() {
return this._size;
}
getBuffer() {
return this.values;
}
}
//# sourceMappingURL=bitVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"bitVector.js","sourceRoot":"","sources":["../../../src/vector/flat/bitVector.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,SAAS;IAI1B;;;OAGG;IACH,YAAY,MAAkB,EAAE,IAAY;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,KAAa;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAc;QAC7B,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ","sourcesContent":["export default class BitVector {\n private readonly values: Uint8Array;\n private readonly _size: number;\n\n /**\n * @param values The byte buffer containing the bit values in least-significant bit (LSB)\n * numbering\n */\n constructor(values: Uint8Array, size: number) {\n this.values = values;\n this._size = size;\n }\n\n get(index: number): boolean {\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n const b = this.values[byteIndex];\n return ((b >> bitIndex) & 1) === 1;\n }\n\n set(index: number, value: boolean): void {\n //TODO: refactor -> improve quick and dirty solution\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n this.values[byteIndex] = this.values[byteIndex] | ((value ? 1 : 0) << bitIndex);\n }\n\n getInt(index: number): number {\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n const b = this.values[byteIndex];\n return (b >> bitIndex) & 1;\n }\n\n size(): number {\n return this._size;\n }\n\n getBuffer(): Uint8Array {\n return this.values;\n }\n}\n"]}
+7
View File
@@ -0,0 +1,7 @@
import type BitVector from "./bitVector";
import Vector from "../vector";
export declare class BooleanFlatVector extends Vector<Uint8Array, boolean> {
private readonly dataVector;
constructor(name: string, dataVector: BitVector, sizeOrNullabilityBuffer: number | BitVector);
protected getValueFromBuffer(index: number): boolean;
}
+11
View File
@@ -0,0 +1,11 @@
import Vector from "../vector";
export class BooleanFlatVector extends Vector {
constructor(name, dataVector, sizeOrNullabilityBuffer) {
super(name, dataVector.getBuffer(), sizeOrNullabilityBuffer);
this.dataVector = dataVector;
}
getValueFromBuffer(index) {
return this.dataVector.get(index);
}
}
//# sourceMappingURL=booleanFlatVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"booleanFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/booleanFlatVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,iBAAkB,SAAQ,MAA2B;IAG9D,YAAY,IAAY,EAAE,UAAqB,EAAE,uBAA2C;QACxF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ","sourcesContent":["import type BitVector from \"./bitVector\";\nimport Vector from \"../vector\";\n\nexport class BooleanFlatVector extends Vector<Uint8Array, boolean> {\n private readonly dataVector: BitVector;\n\n constructor(name: string, dataVector: BitVector, sizeOrNullabilityBuffer: number | BitVector) {\n super(name, dataVector.getBuffer(), sizeOrNullabilityBuffer);\n this.dataVector = dataVector;\n }\n\n protected getValueFromBuffer(index: number): boolean {\n return this.dataVector.get(index);\n }\n}\n"]}
+4
View File
@@ -0,0 +1,4 @@
import { FixedSizeVector } from "../fixedSizeVector";
export declare class DoubleFlatVector extends FixedSizeVector<Float64Array, number> {
protected getValueFromBuffer(index: number): number;
}
+7
View File
@@ -0,0 +1,7 @@
import { FixedSizeVector } from "../fixedSizeVector";
export class DoubleFlatVector extends FixedSizeVector {
getValueFromBuffer(index) {
return this.dataBuffer[index];
}
}
//# sourceMappingURL=doubleFlatVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"doubleFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/doubleFlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,gBAAiB,SAAQ,eAAqC;IAC7D,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import { FixedSizeVector } from \"../fixedSizeVector\";\n\nexport class DoubleFlatVector extends FixedSizeVector<Float64Array, number> {\n protected getValueFromBuffer(index: number): number {\n return this.dataBuffer[index];\n }\n}\n"]}
+4
View File
@@ -0,0 +1,4 @@
import { FixedSizeVector } from "../fixedSizeVector";
export declare class FloatFlatVector extends FixedSizeVector<Float32Array, number> {
protected getValueFromBuffer(index: number): number;
}
+7
View File
@@ -0,0 +1,7 @@
import { FixedSizeVector } from "../fixedSizeVector";
export class FloatFlatVector extends FixedSizeVector {
getValueFromBuffer(index) {
return this.dataBuffer[index];
}
}
//# sourceMappingURL=floatFlatVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"floatFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/floatFlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,eAAqC;IAC5D,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import { FixedSizeVector } from \"../fixedSizeVector\";\n\nexport class FloatFlatVector extends FixedSizeVector<Float32Array, number> {\n protected getValueFromBuffer(index: number): number {\n return this.dataBuffer[index];\n }\n}\n"]}
+4
View File
@@ -0,0 +1,4 @@
import { FixedSizeVector } from "../fixedSizeVector";
export declare class Int32FlatVector extends FixedSizeVector<Int32Array | Uint32Array, number> {
protected getValueFromBuffer(index: number): number;
}
+7
View File
@@ -0,0 +1,7 @@
import { FixedSizeVector } from "../fixedSizeVector";
export class Int32FlatVector extends FixedSizeVector {
getValueFromBuffer(index) {
return this.dataBuffer[index];
}
}
//# sourceMappingURL=int32FlatVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"int32FlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/int32FlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,eAAiD;IACxE,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import { FixedSizeVector } from \"../fixedSizeVector\";\n\nexport class Int32FlatVector extends FixedSizeVector<Int32Array | Uint32Array, number> {\n protected getValueFromBuffer(index: number): number {\n return this.dataBuffer[index];\n }\n}\n"]}
+4
View File
@@ -0,0 +1,4 @@
import { FixedSizeVector } from "../fixedSizeVector";
export declare class Int64FlatVector extends FixedSizeVector<BigInt64Array | BigUint64Array, bigint> {
protected getValueFromBuffer(index: number): bigint;
}
+7
View File
@@ -0,0 +1,7 @@
import { FixedSizeVector } from "../fixedSizeVector";
export class Int64FlatVector extends FixedSizeVector {
getValueFromBuffer(index) {
return this.dataBuffer[index];
}
}
//# sourceMappingURL=int64FlatVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"int64FlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/int64FlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,eAAuD;IAC9E,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import { FixedSizeVector } from \"../fixedSizeVector\";\n\nexport class Int64FlatVector extends FixedSizeVector<BigInt64Array | BigUint64Array, bigint> {\n protected getValueFromBuffer(index: number): bigint {\n return this.dataBuffer[index];\n }\n}\n"]}
+6
View File
@@ -0,0 +1,6 @@
import { VariableSizeVector } from "../variableSizeVector";
import type BitVector from "./bitVector";
export declare class StringFlatVector extends VariableSizeVector<Uint8Array, string> {
constructor(name: string, offsetBuffer: Uint32Array, dataBuffer: Uint8Array, nullabilityBuffer?: BitVector);
protected getValueFromBuffer(index: number): string;
}
+13
View File
@@ -0,0 +1,13 @@
import { VariableSizeVector } from "../variableSizeVector";
import { decodeString } from "../../decoding/decodingUtils";
export class StringFlatVector extends VariableSizeVector {
constructor(name, offsetBuffer, dataBuffer, nullabilityBuffer) {
super(name, offsetBuffer, dataBuffer, nullabilityBuffer ?? offsetBuffer.length - 1);
}
getValueFromBuffer(index) {
const start = this.offsetBuffer[index];
const end = this.offsetBuffer[index + 1];
return decodeString(this.dataBuffer, start, end);
}
}
//# sourceMappingURL=stringFlatVector.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"stringFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/stringFlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,gBAAiB,SAAQ,kBAAsC;IACxE,YAAY,IAAY,EAAE,YAAyB,EAAE,UAAsB,EAAE,iBAA6B;QACtG,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ","sourcesContent":["import { VariableSizeVector } from \"../variableSizeVector\";\nimport type BitVector from \"./bitVector\";\nimport { decodeString } from \"../../decoding/decodingUtils\";\n\nexport class StringFlatVector extends VariableSizeVector<Uint8Array, string> {\n constructor(name: string, offsetBuffer: Uint32Array, dataBuffer: Uint8Array, nullabilityBuffer?: BitVector) {\n super(name, offsetBuffer, dataBuffer, nullabilityBuffer ?? offsetBuffer.length - 1);\n }\n\n protected getValueFromBuffer(index: number): string {\n const start = this.offsetBuffer[index];\n const end = this.offsetBuffer[index + 1];\n return decodeString(this.dataBuffer, start, end);\n }\n}\n"]}