mana-common
Version:
Common utils for mana
18 lines (17 loc) • 683 B
TypeScript
export declare enum Priority {
PRIOR = 1000,
DEFAULT = 100,
IDLE = -1
}
export declare namespace Priority {
type PriorityObject<T> = {
readonly priority: number;
readonly value: T;
};
type GetPriority<T> = (value: T) => number;
function toPriorityObject<T>(rawValue: T, getPriority: GetPriority<T>): PriorityObject<T>;
function toPriorityObject<T>(rawValue: T[], getPriority: GetPriority<T>): PriorityObject<T>[];
function sort<T>(values: T[], getPriority: GetPriority<T>): PriorityObject<T>[];
function isValid<T>(p: PriorityObject<T>): boolean;
function compare<T>(p: PriorityObject<T>, p2: PriorityObject<T>): number;
}