1
0

change project structure to remove namespaces

This commit is contained in:
2024-05-11 16:46:47 +02:00
parent 727cdc3b2b
commit 486abefba6
17 changed files with 1201 additions and 1155 deletions

29
src/bitarray/index.ts Normal file
View File

@@ -0,0 +1,29 @@
import { asArray } from "../utils.js";
import { EmptyBitArray, BitArrayImpl } from "./impl.js";
import { BitArray } from "./types.js";
const emptyBitArray = new EmptyBitArray();
export const EMPTY = emptyBitArray;
export function create(length: number): BitArray {
if (length < 0) {
throw new Error("length < 0");
}
return length === 0 ? EMPTY : new BitArrayImpl(length);
}
export function from(bits: Iterable<boolean>): BitArray {
const arr = asArray(bits);
const result = create(arr.length);
for (let i = 0; i < arr.length; i++) {
result.set(i, arr[i]);
}
return result;
}
export function of(...bits: boolean[]): BitArray {
return from(bits);
}