@maplibre/mlt 0.0.1-alpha.11 → 0.0.1-alpha.13

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 (37) hide show
  1. package/dist/vector/constant/intConstVector.js +16 -7
  2. package/dist/vector/constant/intConstVector.js.map +1 -1
  3. package/dist/vector/constant/intConstVectors.spec.d.ts +1 -0
  4. package/dist/vector/constant/intConstVectors.spec.js +88 -0
  5. package/dist/vector/constant/intConstVectors.spec.js.map +1 -0
  6. package/dist/vector/constant/longContstVectors.spec.d.ts +1 -0
  7. package/dist/vector/constant/longContstVectors.spec.js +95 -0
  8. package/dist/vector/constant/longContstVectors.spec.js.map +1 -0
  9. package/dist/vector/filter/selectionVectorUtils.js +1 -1
  10. package/dist/vector/filter/selectionVectorUtils.js.map +1 -1
  11. package/dist/vector/flat/doubleFlatVector.spec.d.ts +1 -0
  12. package/dist/vector/flat/doubleFlatVector.spec.js +62 -0
  13. package/dist/vector/flat/doubleFlatVector.spec.js.map +1 -0
  14. package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
  15. package/dist/vector/flat/floatFlatVector.spec.js +56 -0
  16. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
  17. package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
  18. package/dist/vector/flat/intFlatVector.spec.js +136 -0
  19. package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
  20. package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
  21. package/dist/vector/flat/longFlatVector.spec.js +109 -0
  22. package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
  23. package/dist/vector/sequence/intSequenceVector.js +6 -5
  24. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  25. package/dist/vector/sequence/intSequenceVectors.spec.d.ts +1 -0
  26. package/dist/vector/sequence/intSequenceVectors.spec.js +32 -0
  27. package/dist/vector/sequence/intSequenceVectors.spec.js.map +1 -0
  28. package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
  29. package/dist/vector/sequence/longSequenceVektor.spec.js +20 -0
  30. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
  31. package/package.json +3 -5
  32. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  33. package/dist/vector/filter/constSelectionVector.js +0 -1
  34. package/dist/vector/filter/constSelectionVector.js.map +0 -1
  35. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  36. package/dist/vector/filter/sequenceSelectionVector.js +0 -1
  37. package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
@@ -11,14 +11,18 @@ export class IntConstVector extends Vector {
11
11
  if (vectorValue !== value) {
12
12
  return new FlatSelectionVector([]);
13
13
  }
14
- return createNullableSelectionVector(this.size, this.nullabilityBuffer);
14
+ return this.nullabilityBuffer
15
+ ? createNullableSelectionVector(this.size, this.nullabilityBuffer)
16
+ : createSelectionVector(this.size);
15
17
  }
16
18
  match(values) {
17
19
  const vectorValue = this.dataBuffer[0];
18
20
  if (!values.includes(vectorValue)) {
19
21
  return new FlatSelectionVector([]);
20
22
  }
21
- return createNullableSelectionVector(this.size, this.nullabilityBuffer);
23
+ return this.nullabilityBuffer
24
+ ? createNullableSelectionVector(this.size, this.nullabilityBuffer)
25
+ : createSelectionVector(this.size);
22
26
  }
23
27
  filterSelected(value, selectionVector) {
24
28
  const vectorValue = this.dataBuffer[0];
@@ -40,10 +44,12 @@ export class IntConstVector extends Vector {
40
44
  return this.dataBuffer[0];
41
45
  }
42
46
  greaterThanOrEqualTo(testValue) {
43
- //TODO: handle bitVector?
44
- return this.dataBuffer[0] >= testValue
47
+ if (this.dataBuffer[0] < testValue) {
48
+ return new FlatSelectionVector([]);
49
+ }
50
+ return this.nullabilityBuffer
45
51
  ? createNullableSelectionVector(this.size, this.nullabilityBuffer)
46
- : new FlatSelectionVector([]);
52
+ : createSelectionVector(this.size);
47
53
  }
48
54
  greaterThanOrEqualToSelected(value, selectionVector) {
49
55
  if (this.dataBuffer[0] >= value) {
@@ -53,9 +59,12 @@ export class IntConstVector extends Vector {
53
59
  selectionVector.setLimit(0);
54
60
  }
55
61
  smallerThanOrEqualTo(value) {
56
- return this.dataBuffer[0] <= value
62
+ if (this.dataBuffer[0] > value) {
63
+ return new FlatSelectionVector([]);
64
+ }
65
+ return this.nullabilityBuffer
57
66
  ? createNullableSelectionVector(this.size, this.nullabilityBuffer)
58
- : new FlatSelectionVector([]);
67
+ : createSelectionVector(this.size);
59
68
  }
60
69
  smallerThanOrEqualToSelected(value, selectionVector) {
61
70
  if (this.dataBuffer[0] <= value) {
@@ -1 +1 @@
1
- {"version":3,"file":"intConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/intConstVector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EACH,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,GAChC,MAAM,gCAAgC,CAAC;AAExC,MAAM,OAAO,cAAe,SAAQ,MAA0B;IAC1D,YAAmB,IAAY,EAAE,KAAa,EAAE,uBAA2C;QACvF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,MAAgB;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,eAAgC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACxB,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,6BAA6B,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,eAAgC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,6BAA6B,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3E,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,oBAAoB,CAAC,SAAiB;QAClC,yBAAyB;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS;YAClC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;YAClE,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YAC9B,6BAA6B,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,OAAO;QACX,CAAC;QAED,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK;YAC9B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;YAClE,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YAC9B,6BAA6B,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,OAAO;QACX,CAAC;QAED,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,eAAgC;QAClE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,MAAgB;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,MAAgB,EAAE,eAAgC;QAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;CACJ"}
1
+ {"version":3,"file":"intConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/intConstVector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,88 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { IntConstVector } from "./intConstVector";
3
+ import BitVector from "../flat/bitVector";
4
+ import { FlatSelectionVector } from "../filter/flatSelectionVector";
5
+ function getSelectionIndices(selection) {
6
+ return selection.selectionValues().slice(0, selection.limit);
7
+ }
8
+ describe("IntConstVector", () => {
9
+ it("should return constant value", () => {
10
+ const vec = new IntConstVector("test", 42, 10);
11
+ expect(vec.size).toBe(10);
12
+ expect(vec.getValue(0)).toBe(42);
13
+ expect(vec.getValue(5)).toBe(42);
14
+ expect(vec.getValue(9)).toBe(42);
15
+ });
16
+ it("should filter matching constant", () => {
17
+ const vec = new IntConstVector("test", 42, 10);
18
+ const result = vec.filter(42);
19
+ expect(result.limit).toBe(10);
20
+ expect(getSelectionIndices(result)).toEqual([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
21
+ });
22
+ it("should return empty when filtering non-matching value", () => {
23
+ const vec = new IntConstVector("test", 42, 10);
24
+ const result = vec.filter(99);
25
+ expect(result.limit).toBe(0);
26
+ });
27
+ it("should match when value in array", () => {
28
+ const vec = new IntConstVector("test", 42, 5);
29
+ expect(vec.match([10, 42, 99]).limit).toBe(5);
30
+ expect(vec.match([10, 99]).limit).toBe(0);
31
+ });
32
+ it("should filter selected", () => {
33
+ const vec = new IntConstVector("test", 42, 10);
34
+ const selection = new FlatSelectionVector([2, 3, 4, 5]);
35
+ vec.filterSelected(42, selection);
36
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4, 5]);
37
+ });
38
+ it("should filter selected value mismatch", () => {
39
+ const vec = new IntConstVector("test", 42, 10);
40
+ const selection = new FlatSelectionVector([2, 3, 4]);
41
+ vec.filterSelected(99, selection);
42
+ expect(selection.limit).toBe(0);
43
+ });
44
+ it("should match selected", () => {
45
+ const vec = new IntConstVector("test", 42, 10);
46
+ const selection = new FlatSelectionVector([2, 3, 4]);
47
+ vec.matchSelected([10, 42], selection);
48
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
49
+ });
50
+ it("should handle comparison operations", () => {
51
+ const vec = new IntConstVector("test", 50, 5);
52
+ expect(vec.greaterThanOrEqualTo(50).limit).toBe(5);
53
+ expect(vec.greaterThanOrEqualTo(51).limit).toBe(0);
54
+ expect(vec.smallerThanOrEqualTo(50).limit).toBe(5);
55
+ expect(vec.smallerThanOrEqualTo(49).limit).toBe(0);
56
+ });
57
+ it("should handle comparison selected", () => {
58
+ const vec = new IntConstVector("test", 50, 10);
59
+ const sel1 = new FlatSelectionVector([1, 2, 3]);
60
+ vec.greaterThanOrEqualToSelected(50, sel1);
61
+ expect(getSelectionIndices(sel1)).toEqual([1, 2, 3]);
62
+ const sel2 = new FlatSelectionVector([1, 2, 3]);
63
+ vec.greaterThanOrEqualToSelected(51, sel2);
64
+ expect(sel2.limit).toBe(0);
65
+ });
66
+ it("should filter not equal", () => {
67
+ const vec = new IntConstVector("test", 42, 5);
68
+ expect(vec.filterNotEqual(99).limit).toBe(5);
69
+ expect(vec.filterNotEqual(42).limit).toBe(0);
70
+ });
71
+ it("should filter not equal selected", () => {
72
+ const vec = new IntConstVector("test", 42, 10);
73
+ const selection = new FlatSelectionVector([2, 3, 4]);
74
+ vec.filterNotEqualSelected(99, selection);
75
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
76
+ const selection2 = new FlatSelectionVector([2, 3, 4]);
77
+ vec.filterNotEqualSelected(42, selection2);
78
+ expect(selection2.limit).toBe(0);
79
+ });
80
+ it("should handle nullability", () => {
81
+ const bitVector = new BitVector(new Uint8Array([0b01010101]), 8); // 0,2,4,6 present
82
+ const vec = new IntConstVector("test", 42, bitVector);
83
+ const result = vec.filter(42);
84
+ expect(result.limit).toBe(4);
85
+ expect(getSelectionIndices(result)).toEqual([0, 2, 4, 6]);
86
+ });
87
+ });
88
+ //# sourceMappingURL=intConstVectors.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intConstVectors.spec.js","sourceRoot":"","sources":["../../../src/vector/constant/intConstVectors.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { LongConstVector } from "./longConstVector";
3
+ import BitVector from "../flat/bitVector";
4
+ import { FlatSelectionVector } from "../filter/flatSelectionVector";
5
+ function getSelectionIndices(selection) {
6
+ return selection.selectionValues().slice(0, selection.limit);
7
+ }
8
+ describe("LongConstVector", () => {
9
+ it("should return constant value", () => {
10
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
11
+ const vec = new LongConstVector("test", 42n, bitVector);
12
+ expect(vec.size).toBe(10);
13
+ expect(vec.getValue(0)).toBe(42n);
14
+ expect(vec.getValue(5)).toBe(42n);
15
+ expect(vec.getValue(9)).toBe(42n);
16
+ });
17
+ it("should filter matching constant", () => {
18
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
19
+ const vec = new LongConstVector("test", 42n, bitVector);
20
+ const result = vec.filter(42n);
21
+ expect(result.limit).toBe(10);
22
+ expect(getSelectionIndices(result)).toEqual([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
23
+ });
24
+ it("should return empty when filtering non-matching value", () => {
25
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
26
+ const vec = new LongConstVector("test", 42n, bitVector);
27
+ const result = vec.filter(99n);
28
+ expect(result.limit).toBe(0);
29
+ });
30
+ it("should match when value in array", () => {
31
+ const bitVector = new BitVector(new Uint8Array([0xFF]), 5);
32
+ const vec = new LongConstVector("test", 42n, bitVector);
33
+ expect(vec.match([10n, 42n, 99n]).limit).toBe(5);
34
+ expect(vec.match([10n, 99n]).limit).toBe(0);
35
+ });
36
+ it("should filter selected", () => {
37
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
38
+ const vec = new LongConstVector("test", 42n, bitVector);
39
+ const selection = new FlatSelectionVector([2, 3, 4, 5]);
40
+ vec.filterSelected(42n, selection);
41
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4, 5]);
42
+ const selection2 = new FlatSelectionVector([2, 3, 4]);
43
+ vec.filterSelected(99n, selection2);
44
+ expect(selection2.limit).toBe(0);
45
+ });
46
+ it("should match selected", () => {
47
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
48
+ const vec = new LongConstVector("test", 42n, bitVector);
49
+ const selection = new FlatSelectionVector([2, 3, 4]);
50
+ vec.matchSelected([10n, 42n], selection);
51
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
52
+ });
53
+ it("should handle comparison operations", () => {
54
+ const bitVector = new BitVector(new Uint8Array([0xFF]), 5);
55
+ const vec = new LongConstVector("test", 50n, bitVector);
56
+ expect(vec.greaterThanOrEqualTo(50n).limit).toBe(5);
57
+ expect(vec.greaterThanOrEqualTo(51n).limit).toBe(0);
58
+ expect(vec.smallerThanOrEqualTo(50n).limit).toBe(5);
59
+ expect(vec.smallerThanOrEqualTo(49n).limit).toBe(0);
60
+ });
61
+ it("should handle comparison selected", () => {
62
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
63
+ const vec = new LongConstVector("test", 50n, bitVector);
64
+ const sel1 = new FlatSelectionVector([1, 2, 3]);
65
+ vec.greaterThanOrEqualToSelected(50n, sel1);
66
+ expect(getSelectionIndices(sel1)).toEqual([1, 2, 3]);
67
+ const sel2 = new FlatSelectionVector([1, 2, 3]);
68
+ vec.greaterThanOrEqualToSelected(51n, sel2);
69
+ expect(sel2.limit).toBe(0);
70
+ });
71
+ it("should filter not equal", () => {
72
+ const bitVector = new BitVector(new Uint8Array([0xFF]), 5);
73
+ const vec = new LongConstVector("test", 42n, bitVector);
74
+ expect(vec.filterNotEqual(99n).limit).toBe(5);
75
+ expect(vec.filterNotEqual(42n).limit).toBe(0);
76
+ });
77
+ it("should filter not equal selected", () => {
78
+ const bitVector = new BitVector(new Uint8Array([0xFF, 0xFF]), 10);
79
+ const vec = new LongConstVector("test", 42n, bitVector);
80
+ const selection = new FlatSelectionVector([2, 3, 4]);
81
+ vec.filterNotEqualSelected(99n, selection);
82
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
83
+ const selection2 = new FlatSelectionVector([2, 3, 4]);
84
+ vec.filterNotEqualSelected(42n, selection2);
85
+ expect(selection2.limit).toBe(0);
86
+ });
87
+ it("should handle nullability", () => {
88
+ const bitVector = new BitVector(new Uint8Array([0b01010101]), 8); // 0,2,4,6 present
89
+ const vec = new LongConstVector("test", 42n, bitVector);
90
+ const result = vec.filter(42n);
91
+ expect(result.limit).toBe(4);
92
+ expect(getSelectionIndices(result)).toEqual([0, 2, 4, 6]);
93
+ });
94
+ });
95
+ //# sourceMappingURL=longContstVectors.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longContstVectors.spec.js","sourceRoot":"","sources":["../../../src/vector/constant/longContstVectors.spec.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function createSelectionVector(size) {
9
9
  export function createNullableSelectionVector(size, nullabilityBuffer) {
10
10
  const selectionVector = [];
11
11
  for (let i = 0; i < size; i++) {
12
- if (nullabilityBuffer || nullabilityBuffer.get(i)) {
12
+ if (nullabilityBuffer?.get(i)) {
13
13
  selectionVector.push(i);
14
14
  }
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selectionVectorUtils.js","sourceRoot":"","sources":["../../../src/vector/filter/selectionVectorUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAY,EAAE,iBAA4B;IACpF,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,eAAgC,EAAE,iBAA4B;IAChG,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,eAAgC,EAAE,iBAA4B;IACxG,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"selectionVectorUtils.js","sourceRoot":"","sources":["../../../src/vector/filter/selectionVectorUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAY,EAAE,iBAA4B;IACpF,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,eAAgC,EAAE,iBAA4B;IAChG,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,eAAgC,EAAE,iBAA4B;IACxG,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,62 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { DoubleFlatVector } from "./doubleFlatVector";
3
+ import BitVector from "./bitVector";
4
+ import { FlatSelectionVector } from "../filter/flatSelectionVector";
5
+ function getSelectionIndices(selection) {
6
+ return selection.selectionValues().slice(0, selection.limit);
7
+ }
8
+ function createVector(values) {
9
+ return new DoubleFlatVector("test", new Float64Array(values), values.length);
10
+ }
11
+ function createNullableVector(values, nullBits) {
12
+ const data = new Float64Array(values);
13
+ const bitVector = new BitVector(new Uint8Array([nullBits]), values.length);
14
+ return new DoubleFlatVector("test", data, bitVector);
15
+ }
16
+ const vec = createVector([10.5, 20.5, 30.5, 40.5, 50.5]);
17
+ describe("DoubleFlatVector", () => {
18
+ it("should filter by value", () => {
19
+ expect(getSelectionIndices(vec.filter(30.5))).toEqual([2]);
20
+ expect(vec.filter(999.9).limit).toBe(0);
21
+ });
22
+ it("should match values", () => {
23
+ expect(getSelectionIndices(vec.match([10.5, 50.5]))).toEqual([0, 4]);
24
+ });
25
+ it("should filter selected", () => {
26
+ const selection = new FlatSelectionVector([0, 1, 2]);
27
+ vec.filterSelected(20.5, selection);
28
+ expect(getSelectionIndices(selection)).toEqual([1]);
29
+ });
30
+ it("should match selected", () => {
31
+ const selection = new FlatSelectionVector([1, 2, 3]);
32
+ vec.matchSelected([20.5, 40.5], selection);
33
+ expect(getSelectionIndices(selection)).toEqual([1, 3]);
34
+ });
35
+ it("should filter >= threshold", () => {
36
+ expect(getSelectionIndices(vec.greaterThanOrEqualTo(30.5))).toEqual([2, 3, 4]);
37
+ });
38
+ it("should filter <= threshold", () => {
39
+ expect(getSelectionIndices(vec.smallerThanOrEqualTo(30.5))).toEqual([0, 1, 2]);
40
+ });
41
+ it("should filter selected >= threshold", () => {
42
+ const selection = new FlatSelectionVector([1, 2, 3, 4]);
43
+ vec.greaterThanOrEqualToSelected(30.5, selection);
44
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
45
+ });
46
+ it("should filter selected <= threshold", () => {
47
+ const selection = new FlatSelectionVector([0, 1, 2, 3]);
48
+ vec.smallerThanOrEqualToSelected(20.5, selection);
49
+ expect(getSelectionIndices(selection)).toEqual([0, 1]);
50
+ });
51
+ it("should handle nullability", () => {
52
+ const nullVec = createNullableVector([10.5, 20.5, 30.5, 40.5], 0b0111); // 0,1,2 present
53
+ expect(getSelectionIndices(nullVec.filter(40.5))).toEqual([]);
54
+ expect(getSelectionIndices(nullVec.filter(20.5))).toEqual([1]);
55
+ });
56
+ it("should throw for not implemented methods", () => {
57
+ expect(() => vec.noneMatch([10.5])).toThrow("Not implemented yet.");
58
+ expect(() => vec.filterNotEqual(10.5)).toThrow("Not implemented yet.");
59
+ expect(() => vec.filterNotEqualSelected(10.5, new FlatSelectionVector([0]))).toThrow("Not implemented yet.");
60
+ });
61
+ });
62
+ //# sourceMappingURL=doubleFlatVector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doubleFlatVector.spec.js","sourceRoot":"","sources":["../../../src/vector/flat/doubleFlatVector.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,56 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { FloatFlatVector } from "./floatFlatVector";
3
+ import BitVector from "./bitVector";
4
+ import { FlatSelectionVector } from "../filter/flatSelectionVector";
5
+ function getSelectionIndices(selection) {
6
+ return selection.selectionValues().slice(0, selection.limit);
7
+ }
8
+ function createVector(values) {
9
+ return new FloatFlatVector("test", new Float32Array(values), values.length);
10
+ }
11
+ function createNullableVector(values, nullBits) {
12
+ const data = new Float32Array(values);
13
+ const bitVector = new BitVector(new Uint8Array([nullBits]), values.length);
14
+ return new FloatFlatVector("test", data, bitVector);
15
+ }
16
+ const vec = createVector([1.5, 2.5, 3.5, 4.5, 5.5]);
17
+ describe("FloatFlatVector", () => {
18
+ it("should filter by value", () => {
19
+ expect(getSelectionIndices(vec.filter(3.5))).toEqual([2]);
20
+ });
21
+ it("should match values", () => {
22
+ expect(getSelectionIndices(vec.match([1.5, 5.5]))).toEqual([0, 4]);
23
+ });
24
+ it("should filter selected", () => {
25
+ const selection = new FlatSelectionVector([0, 1, 2]);
26
+ vec.filterSelected(2.5, selection);
27
+ expect(getSelectionIndices(selection)).toEqual([1]);
28
+ });
29
+ it("should match selected", () => {
30
+ const selection = new FlatSelectionVector([1, 2, 3]);
31
+ vec.matchSelected([2.5, 4.5], selection);
32
+ expect(getSelectionIndices(selection)).toEqual([1, 3]);
33
+ });
34
+ it("should filter >= and <= thresholds", () => {
35
+ expect(getSelectionIndices(vec.greaterThanOrEqualTo(3.5))).toEqual([2, 3, 4]);
36
+ expect(getSelectionIndices(vec.smallerThanOrEqualTo(3.5))).toEqual([0, 1, 2]);
37
+ });
38
+ it("should handle selected comparisons", () => {
39
+ const sel1 = new FlatSelectionVector([1, 2, 3, 4]);
40
+ vec.greaterThanOrEqualToSelected(3.5, sel1);
41
+ expect(getSelectionIndices(sel1)).toEqual([2, 3, 4]);
42
+ const sel2 = new FlatSelectionVector([0, 1, 2, 3]);
43
+ vec.smallerThanOrEqualToSelected(2.5, sel2);
44
+ expect(getSelectionIndices(sel2)).toEqual([0, 1]);
45
+ });
46
+ it("should handle nullability", () => {
47
+ const nullVec = createNullableVector([1.5, 2.5, 3.5, 4.5], 0b0111);
48
+ expect(getSelectionIndices(nullVec.filter(4.5))).toEqual([]);
49
+ expect(getSelectionIndices(nullVec.greaterThanOrEqualTo(3.5))).toEqual([2]);
50
+ });
51
+ it("should throw for not implemented methods", () => {
52
+ expect(() => vec.noneMatch([1.5])).toThrow("Not implemented yet.");
53
+ expect(() => vec.filterNotEqual(1.5)).toThrow("Not implemented yet.");
54
+ });
55
+ });
56
+ //# sourceMappingURL=floatFlatVector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floatFlatVector.spec.js","sourceRoot":"","sources":["../../../src/vector/flat/floatFlatVector.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,136 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { IntFlatVector } from "./intFlatVector";
3
+ import BitVector from "./bitVector";
4
+ import { FlatSelectionVector } from "../filter/flatSelectionVector";
5
+ function createVector(values, name = "test") {
6
+ const data = new Int32Array(values);
7
+ return new IntFlatVector(name, data, values.length);
8
+ }
9
+ function createNullableVector(values, nullBits, name = "test") {
10
+ const data = new Int32Array(values);
11
+ const nullability = new Uint8Array([nullBits]);
12
+ const bitVector = new BitVector(nullability, values.length);
13
+ return new IntFlatVector(name, data, bitVector);
14
+ }
15
+ function getSelectionIndices(selection) {
16
+ return selection.selectionValues().slice(0, selection.limit);
17
+ }
18
+ const simpleVector = createVector([10, 20, 30, 40, 50]);
19
+ const withDuplicates = createVector([10, 20, 30, 20, 50, 10]);
20
+ const withNulls = createNullableVector([10, 20, 30, 40, 50], 0b00010111);
21
+ describe("IntFlatVector", () => {
22
+ describe("getValue and has", () => {
23
+ it("should get values", () => {
24
+ expect(simpleVector.size).toBe(5);
25
+ expect(simpleVector.getValue(0)).toBe(10);
26
+ expect(simpleVector.getValue(4)).toBe(50);
27
+ });
28
+ it("should handle nullability", () => {
29
+ expect(withNulls.getValue(0)).toBe(10);
30
+ expect(withNulls.getValue(3)).toBe(null);
31
+ expect(withNulls.has(0)).toBe(true);
32
+ expect(withNulls.has(3)).toBe(false);
33
+ });
34
+ });
35
+ describe("filter", () => {
36
+ it("should filter by value", () => {
37
+ expect(getSelectionIndices(simpleVector.filter(30))).toEqual([2]);
38
+ expect(getSelectionIndices(withDuplicates.filter(20))).toEqual([1, 3]);
39
+ expect(getSelectionIndices(withDuplicates.filter(10))).toEqual([0, 5]);
40
+ });
41
+ it("should filter with nullability", () => {
42
+ const result = withNulls.filter(30);
43
+ expect(getSelectionIndices(result)).toEqual([2]);
44
+ });
45
+ it("should return empty when no match", () => {
46
+ expect(simpleVector.filter(999).limit).toBe(0);
47
+ });
48
+ });
49
+ describe("match", () => {
50
+ it("should match multiple values", () => {
51
+ expect(getSelectionIndices(simpleVector.match([10, 50]))).toEqual([0, 4]);
52
+ expect(getSelectionIndices(withDuplicates.match([10, 50]))).toEqual([0, 4, 5]);
53
+ });
54
+ it("should match with nullability", () => {
55
+ expect(getSelectionIndices(withNulls.match([10, 40]))).toEqual([0]);
56
+ });
57
+ });
58
+ describe("filterSelected", () => {
59
+ it("should filter from selection", () => {
60
+ const selection = new FlatSelectionVector([0, 1, 3, 4]);
61
+ withDuplicates.filterSelected(20, selection);
62
+ expect(getSelectionIndices(selection)).toEqual([1, 3]);
63
+ });
64
+ });
65
+ describe("matchSelected", () => {
66
+ it("should match from selection", () => {
67
+ const selection = new FlatSelectionVector([1, 2, 3, 4]);
68
+ simpleVector.matchSelected([20, 40], selection);
69
+ expect(getSelectionIndices(selection)).toEqual([1, 3]);
70
+ });
71
+ });
72
+ describe("greaterThanOrEqualTo", () => {
73
+ it("should filter >= threshold", () => {
74
+ expect(getSelectionIndices(simpleVector.greaterThanOrEqualTo(30))).toEqual([2, 3, 4]);
75
+ expect(getSelectionIndices(withNulls.greaterThanOrEqualTo(30))).toEqual([2, 4]);
76
+ });
77
+ });
78
+ describe("greaterThanOrEqualToSelected", () => {
79
+ it("should filter selected >= threshold", () => {
80
+ const selection = new FlatSelectionVector([0, 2, 3, 4]);
81
+ simpleVector.greaterThanOrEqualToSelected(30, selection);
82
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
83
+ });
84
+ });
85
+ describe("smallerThanOrEqualTo", () => {
86
+ it("should filter <= threshold", () => {
87
+ expect(getSelectionIndices(simpleVector.smallerThanOrEqualTo(30))).toEqual([0, 1, 2]);
88
+ expect(getSelectionIndices(withNulls.smallerThanOrEqualTo(30))).toEqual([0, 1, 2]);
89
+ });
90
+ });
91
+ describe("smallerThanOrEqualToSelected", () => {
92
+ it("should filter selected <= threshold", () => {
93
+ const selection = new FlatSelectionVector([1, 2, 3, 4]);
94
+ simpleVector.smallerThanOrEqualToSelected(30, selection);
95
+ expect(getSelectionIndices(selection)).toEqual([1, 2]);
96
+ });
97
+ });
98
+ describe("filterNotEqual", () => {
99
+ it("should filter != value", () => {
100
+ expect(getSelectionIndices(withDuplicates.filterNotEqual(20))).toEqual([0, 2, 4, 5]);
101
+ });
102
+ it("should include nulls in not equal", () => {
103
+ // 0b00001011 = 0,1,3 present, 2,4 are null
104
+ const vec = createNullableVector([10, 20, 30, 20, 50], 0b00001011);
105
+ expect(getSelectionIndices(vec.filterNotEqual(20))).toEqual([0, 2, 4]);
106
+ });
107
+ });
108
+ describe("filterNotEqualSelected", () => {
109
+ it("should filter != from selection", () => {
110
+ const selection = new FlatSelectionVector([0, 1, 2, 3]);
111
+ withDuplicates.filterNotEqualSelected(20, selection);
112
+ expect(getSelectionIndices(selection)).toEqual([0, 2]);
113
+ });
114
+ });
115
+ describe("presentValues and nullableValues", () => {
116
+ it("should get present values", () => {
117
+ expect(getSelectionIndices(withNulls.presentValues())).toEqual([0, 1, 2, 4]);
118
+ });
119
+ it("should get nullable values", () => {
120
+ expect(getSelectionIndices(withNulls.nullableValues())).toEqual([3]);
121
+ });
122
+ it("should return empty nullableValues when no nullability", () => {
123
+ expect(simpleVector.nullableValues().limit).toBe(0);
124
+ });
125
+ });
126
+ describe("not implemented methods", () => {
127
+ it("should throw for noneMatch", () => {
128
+ expect(() => simpleVector.noneMatch([10])).toThrow("Not implemented yet.");
129
+ });
130
+ it("should throw for noneMatchSelected", () => {
131
+ const sel = new FlatSelectionVector([0]);
132
+ expect(() => simpleVector.noneMatchSelected([10], sel)).toThrow("Not implemented yet.");
133
+ });
134
+ });
135
+ });
136
+ //# sourceMappingURL=intFlatVector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intFlatVector.spec.js","sourceRoot":"","sources":["../../../src/vector/flat/intFlatVector.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,109 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { LongFlatVector } from "./longFlatVector";
3
+ import BitVector from "./bitVector";
4
+ import { FlatSelectionVector } from "../filter/flatSelectionVector";
5
+ // Helper functions
6
+ function createVector(values, name = "test") {
7
+ const data = new BigInt64Array(values);
8
+ return new LongFlatVector(name, data, values.length);
9
+ }
10
+ function createNullableVector(values, nullBits, name = "test") {
11
+ const data = new BigInt64Array(values);
12
+ const nullability = new Uint8Array([nullBits]);
13
+ const bitVector = new BitVector(nullability, values.length);
14
+ return new LongFlatVector(name, data, bitVector);
15
+ }
16
+ function getSelectionIndices(selection) {
17
+ return selection.selectionValues().slice(0, selection.limit);
18
+ }
19
+ // Predefined test vectors
20
+ const simpleVector = createVector([10n, 20n, 30n, 40n, 50n]);
21
+ const withDuplicates = createVector([10n, 20n, 30n, 20n, 50n, 10n]);
22
+ const withNulls = createNullableVector([10n, 20n, 30n, 40n, 50n], 0b00010111);
23
+ describe("LongFlatVector", () => {
24
+ describe("getValue and has", () => {
25
+ it("should get values", () => {
26
+ expect(simpleVector.size).toBe(5);
27
+ expect(simpleVector.getValue(0)).toBe(10n);
28
+ expect(simpleVector.getValue(4)).toBe(50n);
29
+ });
30
+ it("should handle nullability", () => {
31
+ expect(withNulls.getValue(0)).toBe(10n);
32
+ expect(withNulls.getValue(3)).toBe(null);
33
+ expect(withNulls.has(3)).toBe(false);
34
+ });
35
+ });
36
+ describe("filter", () => {
37
+ it("should filter by value", () => {
38
+ expect(getSelectionIndices(simpleVector.filter(30n))).toEqual([2]);
39
+ expect(getSelectionIndices(withDuplicates.filter(20n))).toEqual([1, 3]);
40
+ });
41
+ it("should filter with nullability", () => {
42
+ expect(getSelectionIndices(withNulls.filter(30n))).toEqual([2]);
43
+ });
44
+ it("should return empty when no match", () => {
45
+ expect(simpleVector.filter(999n).limit).toBe(0);
46
+ });
47
+ });
48
+ describe("match", () => {
49
+ it("should match multiple values", () => {
50
+ expect(getSelectionIndices(simpleVector.match([10n, 50n]))).toEqual([0, 4]);
51
+ expect(getSelectionIndices(withDuplicates.match([10n, 50n]))).toEqual([0, 4, 5]);
52
+ });
53
+ });
54
+ describe("filterSelected and matchSelected", () => {
55
+ it("should filter from selection", () => {
56
+ const selection = new FlatSelectionVector([0, 1, 3, 4]);
57
+ withDuplicates.filterSelected(20n, selection);
58
+ expect(getSelectionIndices(selection)).toEqual([1, 3]);
59
+ });
60
+ it("should match from selection", () => {
61
+ const selection = new FlatSelectionVector([1, 2, 3, 4]);
62
+ simpleVector.matchSelected([20n, 40n], selection);
63
+ expect(getSelectionIndices(selection)).toEqual([1, 3]);
64
+ });
65
+ });
66
+ describe("comparison operations", () => {
67
+ it("should filter >= threshold", () => {
68
+ expect(getSelectionIndices(simpleVector.greaterThanOrEqualTo(30n))).toEqual([2, 3, 4]);
69
+ expect(getSelectionIndices(withNulls.greaterThanOrEqualTo(30n))).toEqual([2, 4]);
70
+ });
71
+ it("should filter <= threshold", () => {
72
+ expect(getSelectionIndices(simpleVector.smallerThanOrEqualTo(30n))).toEqual([0, 1, 2]);
73
+ });
74
+ it("should filter selected >= threshold", () => {
75
+ const selection = new FlatSelectionVector([0, 2, 3, 4]);
76
+ simpleVector.greaterThanOrEqualToSelected(30n, selection);
77
+ expect(getSelectionIndices(selection)).toEqual([2, 3, 4]);
78
+ });
79
+ it("should filter selected <= threshold", () => {
80
+ const selection = new FlatSelectionVector([1, 2, 3, 4]);
81
+ simpleVector.smallerThanOrEqualToSelected(30n, selection);
82
+ expect(getSelectionIndices(selection)).toEqual([1, 2]);
83
+ });
84
+ });
85
+ describe("filterNotEqual", () => {
86
+ it("should filter != value", () => {
87
+ expect(getSelectionIndices(withDuplicates.filterNotEqual(20n))).toEqual([0, 2, 4, 5]);
88
+ });
89
+ it("should include nulls in not equal", () => {
90
+ const vec = createNullableVector([10n, 20n, 30n, 20n, 50n], 0b00001011);
91
+ expect(getSelectionIndices(vec.filterNotEqual(20n))).toEqual([0, 2, 4]);
92
+ });
93
+ it("should filter != from selection", () => {
94
+ const selection = new FlatSelectionVector([0, 1, 2, 3]);
95
+ withDuplicates.filterNotEqualSelected(20n, selection);
96
+ expect(getSelectionIndices(selection)).toEqual([0, 2]);
97
+ });
98
+ });
99
+ describe("not implemented methods", () => {
100
+ it("should throw for noneMatch", () => {
101
+ expect(() => simpleVector.noneMatch([10n])).toThrow("Not implemented yet.");
102
+ });
103
+ it("should throw for noneMatchSelected", () => {
104
+ const sel = new FlatSelectionVector([0]);
105
+ expect(() => simpleVector.noneMatchSelected([10n], sel)).toThrow("Not implemented yet.");
106
+ });
107
+ });
108
+ });
109
+ //# sourceMappingURL=longFlatVector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longFlatVector.spec.js","sourceRoot":"","sources":["../../../src/vector/flat/longFlatVector.spec.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,13 @@ export class IntSequenceVector extends SequenceVector {
6
6
  }
7
7
  filter(value) {
8
8
  const index = (value - this.dataBuffer[0]) / this.delta;
9
- const sequenceValue = this.dataBuffer[0] + index * this.delta;
10
- if (value === sequenceValue) {
11
- return new FlatSelectionVector([index]);
9
+ if (Number.isInteger(index) && index >= 0 && index < this.size) {
10
+ const sequenceValue = this.dataBuffer[0] + index * this.delta;
11
+ if (value === sequenceValue) {
12
+ return new FlatSelectionVector([index]);
13
+ }
12
14
  }
13
- const vector = sequenceValue ? [index] : [];
14
- return new FlatSelectionVector(vector);
15
+ return new FlatSelectionVector([]);
15
16
  }
16
17
  match(values) {
17
18
  /*const baseValue = this.dataBuffer[0];
@@ -1 +1 @@
1
- {"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,OAAO,iBAAkB,SAAQ,cAAkC;IACrE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC1B,OAAO,IAAI,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAgB;QAClB;;;;;;;;;;;;;;iDAcyC;QACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,eAAgC;QAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,eAAgC;QAC5D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,eAAgC;QAClE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,MAAgB;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,MAAgB,EAAE,eAAgC;QAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;CACJ"}
1
+ {"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,OAAO,iBAAkB,SAAQ,cAAkC;IACrE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxD,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAgB;QAClB;;;;;;;;;;;;;;iDAcyC;QACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,eAAgC;QAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,eAAgC;QAC5D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,eAAgC;QAClE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,MAAgB;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,MAAgB,EAAE,eAAgC;QAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;CACJ"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { IntSequenceVector } from "./intSequenceVector";
3
+ function getSelectionIndices(selection) {
4
+ return selection.selectionValues().slice(0, selection.limit);
5
+ }
6
+ describe("IntSequenceVector", () => {
7
+ it("should generate sequence values", () => {
8
+ const vec = new IntSequenceVector("test", 10, 5, 5); // 10, 15, 20, 25, 30
9
+ expect(vec.size).toBe(5);
10
+ expect(vec.getValue(0)).toBe(10);
11
+ expect(vec.getValue(1)).toBe(15);
12
+ expect(vec.getValue(2)).toBe(20);
13
+ expect(vec.getValue(4)).toBe(30);
14
+ });
15
+ it("should filter sequence value", () => {
16
+ const vec = new IntSequenceVector("test", 100, 10, 10); // 100, 110, 120...
17
+ const result = vec.filter(120);
18
+ expect(result.limit).toBe(1);
19
+ expect(getSelectionIndices(result)[0]).toBe(2);
20
+ });
21
+ it("should return empty for non-sequence value", () => {
22
+ const vec = new IntSequenceVector("test", 100, 10, 10);
23
+ const result = vec.filter(125); // Not in sequence
24
+ expect(result.limit).toBe(0);
25
+ });
26
+ it("should throw for not implemented methods", () => {
27
+ const vec = new IntSequenceVector("test", 10, 5, 5);
28
+ expect(() => vec.match([10, 15])).toThrow("Not implemented yet.");
29
+ expect(() => vec.greaterThanOrEqualTo(15)).toThrow("Not implemented yet.");
30
+ });
31
+ });
32
+ //# sourceMappingURL=intSequenceVectors.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intSequenceVectors.spec.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVectors.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,SAAS,mBAAmB,CAAC,SAA6D;IACtF,OAAO,SAAS,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAC1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB;QAClD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAClE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { LongSequenceVector } from "./longSequenceVector";
3
+ function getSelectionIndices(selection) {
4
+ return selection.selectionValues().slice(0, selection.limit);
5
+ }
6
+ describe("LongSequenceVector", () => {
7
+ it("should generate bigint sequence values", () => {
8
+ const vec = new LongSequenceVector("test", 10n, 5n, 5); // 10n, 15n, 20n, 25n, 30n
9
+ expect(vec.getValue(0)).toBe(10n);
10
+ expect(vec.getValue(2)).toBe(20n);
11
+ expect(vec.getValue(4)).toBe(30n);
12
+ });
13
+ it("should filter bigint sequence value", () => {
14
+ const vec = new LongSequenceVector("test", 100n, 10n, 10);
15
+ const result = vec.filter(120n);
16
+ expect(result.limit).toBe(1);
17
+ expect(getSelectionIndices(result)[0]).toBe(2);
18
+ });
19
+ });
20
+ //# sourceMappingURL=longSequenceVektor.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longSequenceVektor.spec.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVektor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,SAAS,mBAAmB,CAAC,SAA6D;IACtF,OAAO,SAAS,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAClF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maplibre/mlt",
3
- "version": "0.0.1-alpha.11",
3
+ "version": "0.0.1-alpha.13",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -19,7 +19,6 @@
19
19
  "lint": "eslint",
20
20
  "format": "prettier --write \"**/*.ts\""
21
21
  },
22
- "type": "module",
23
22
  "repository": {
24
23
  "type": "git",
25
24
  "url": "git+https://github.com/maplibre/maplibre-tile-spec.git"
@@ -32,16 +31,15 @@
32
31
  "@maplibre/maplibre-gl-style-spec": "^24.3.0",
33
32
  "@types/bytebuffer": "^5.0.49",
34
33
  "@types/earcut": "^3.0.0",
35
- "@types/node": "^24.9.1",
34
+ "@types/node": "^24.9.2",
36
35
  "@types/pbf": "^3.0.5",
37
36
  "@types/varint": "^6.0.3",
38
- "@vitest/coverage-v8": "^4.0.2",
37
+ "@vitest/coverage-v8": "^4.0.5",
39
38
  "bytebuffer": "^5.0.1",
40
39
  "earcut": "^3.0.2",
41
40
  "eslint": "^9.37.0",
42
41
  "pbf": "^4.0.1",
43
42
  "prettier": "^3.6.2",
44
- "semver": "^7.7.3",
45
43
  "typescript": "^5.9.3",
46
44
  "typescript-eslint": "^8.46.1",
47
45
  "varint": "^6.0.0",
File without changes
@@ -1 +0,0 @@
1
- //# sourceMappingURL=constSelectionVector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constSelectionVector.js","sourceRoot":"","sources":["../../../src/vector/filter/constSelectionVector.ts"],"names":[],"mappings":""}
File without changes
@@ -1 +0,0 @@
1
- //# sourceMappingURL=sequenceSelectionVector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequenceSelectionVector.js","sourceRoot":"","sources":["../../../src/vector/filter/sequenceSelectionVector.ts"],"names":[],"mappings":""}