Skip to main content

Module: @sapphire/bitfield

Classes

Type Aliases

MaybeArray

Ƭ MaybeArray<T>: T | readonly T[]

Type parameters

Name
T

Defined in

lib/BitField.ts:340


PrimitiveType

Ƭ PrimitiveType<T>: T extends number ? number : bigint

Type parameters

Name
T

Defined in

lib/BitField.ts:338


ValueResolvable

Ƭ ValueResolvable<T>: T extends BitField<infer Flags> ? MaybeArray<keyof Flags | PrimitiveType<Flags[keyof Flags]>> : never

Resolves the possible types accepted by the specified BitField.

Typeparam

A BitField instance type.

Type parameters

Name
T

Defined in

lib/BitField.ts:352


ValueType

Ƭ ValueType<T>: T extends BitField<infer Flags> ? PrimitiveType<Flags[keyof Flags]> : never

Resolves the type of the values the specified BitField takes.

Typeparam

A BitField instance type.

Type parameters

Name
T

Defined in

lib/BitField.ts:346

Functions

enumToObject

enumToObject<T>(enumObject): { [K in Exclude<keyof T, `${number}`>]: T[K] }

Converts a TypeScript enum to a 1-way object, stripping out the number keys.

Type parameters

NameType
Textends object

Parameters

NameTypeDescription
enumObjectTThe enum to convert

Returns

{ [K in Exclude<keyof T, `${number}`>]: T[K] }

The mapped object

Example

enum Permissions {
Read: 1 << 0,
Write: 1 << 1
}
// {
// Read: 1,
// Write: 2,
// 1: 'Read',
// 2: 'Write'
// }

enumToObject(Permissions);
// { Read: 1, Write: 2 }

Defined in

lib/utilities.ts:22