change project structure to remove namespaces
This commit is contained in:
29
src/bitarray/index.ts
Normal file
29
src/bitarray/index.ts
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user