Wondering what’s next for npm?Check out our public roadmap! »

    advanced-collections
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.2 • Public • Published

    Advanced-Collections

    Advanced collections include BiMap, SortedMap and SortedSet.

    API declarations

    export declare namespace utils {
        const keys: symbol;
        const values: symbol;
        function inherit<T, S>(ctor: T, base: S): S & T;
        function labelize(value: any): string;
        function findInsertIndex<T>(item: T, container: T[], comparator: (a: T, b: T) => number): number;
        function fixToStringTag<T>(ctor: T): T;
        function throwNotEntryError(item: any): never;
        function throwNotIterableError(input: any): never;
    }
     
    export declare abstract class BaseMap<K, V> extends Map<K, V> {
        protected [utils.keys]: K[];
        protected [utils.values]: V[];
        constructor(iterable: Iterable<K, V>, props?: any);
        protected removeByIndex(index: number): boolean;
        abstract set(key: K, value: V): this;
    }
     
    export declare class BiMap<K = any, V = any> extends BaseMap<K, V> {
        constructor(iterable?: Iterable<[K, V]>);
        getKey(value: V): K;
        hasValue(value: V): boolean;
        deleteValue(value: V): boolean;
        inverse(): BiMap<V, K>;
        forEach(callback: (value: V, key: K, map: BiMap<K, V>) => void, thisArg?: any): void;
    }
     
    export declare class SortedMap<K = any, V = any> extends BaseMap<K, V> {
        protected comparator: (a: K, b: K) => number;
        constructor(comparator?: (a: K, b: K) => number);
        constructor(iterable: Iterable<[K, V]>, comparator?: (a: K, b: k) => number);
        reverse(): SortedMap<K, V>;
        forEach(callback: (value: V, key: K, map: SortedMap<K, V>) => void, thisArg?: any): void;
    }
     
    export declare class SortedSet<T = any> extends Set<T> {
        protected [utils.values]: T[];
        protected comparator: (a: T, b: T) => number;
        constructor(comparator?: (a: T, b: T) => number);
        constructor(iterable: Iterable<T>, comparator?: (a: T, b: T) => number);
        reverse(): SortedSet<T>;
        forEach(callback: (value: T, value2: T, set: SortedSet<T>) => void, thisArg?: any): void;
    }

    Install

    npm i advanced-collections

    DownloadsWeekly Downloads

    30

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    18.9 kB

    Total Files

    10

    Last publish

    Collaborators

    • avatar