UNPKG

monorepo-shared-assets

Version:

Shared assets used by various packages from nodemonorepo

33 lines (32 loc) 1.46 kB
import * as types from '../../.types'; export declare function partition<X>(iterable: Iterable<X>, classifiers: partition.Classifier.Iter<X>): partition.Partition<X>; export declare namespace partition { function fromClassifierList<X>(values: Iterable<X>, classifiers: Classifier.Iter<X>): Partition<X>; namespace fromClassifierList { function iterable<X>(values: Iterable<X>, classifiers: Classifier.Iter<X>): Partition<X>; function array<X>(list: ReadonlyArray<X>, classifiers: Classifier.List<X>): Partition.Array<X>; } function fromClassifierDict<X>(list: Iterable<X>, classifiers: Classifier.Dict<X>): Partition<X>; type Partition<X> = Partition.Set<X>; namespace Partition { interface Set<X> { readonly classified: Dict<ReadonlySet<X>>; readonly untouched: ReadonlySet<X>; } interface Array<X> { readonly classified: Dict<ReadonlyArray<X>>; readonly untouched: ReadonlyArray<X>; } } type Classifier<X> = [Classifier.Target, Classifier.Func<X>]; namespace Classifier { type Iter<X> = Iterable<Classifier<X>>; type Set<X> = ReadonlySet<Classifier<X>>; type List<X> = ReadonlyArray<Classifier<X>>; type Dict<X> = partition.Dict<Func<X>>; type Target = string; type Func<X> = (x: X) => boolean; } type Dict<X> = Readonly<types.Dict.StrKey<X>>; } export default partition;