copied set implementations from MultiFlag JS

This commit is contained in:
2026-02-09 22:11:23 +01:00
parent 80c17ac3ac
commit 140896bd7c
56 changed files with 8055 additions and 24 deletions

View File

@@ -0,0 +1,21 @@
import type { BitFlagSet } from '../flagsets'
export interface SelectFlagSetType {
useBitFlags(): DefineFlag<BitFlagSet>
}
export interface DefineFlag<T> {
define(name: string): SetValueOrCompose<T>
build(): T
}
export interface RequireParentsOrDefineFlag<T> extends DefineFlag<T> {
requires(...flags: string[]): DefineFlag<T>
}
export interface SetValueOrCompose<T> {
withValue(value: number): RequireParentsOrDefineFlag<T>
compose(...flags: string[]): DefineFlag<T>
}