UNPKG

monorepo-shared-assets

Version:

Shared assets used by various packages from nodemonorepo

28 lines (27 loc) 1.33 kB
import * as types from '../../../.types'; import isInIter from '../.utils/in-iter'; export declare namespace classify { function singleDistribute<X>(values: Iterable<X>, classifier: singleDistribute.Classifier<X>, duplicationChecker?: isInIter.Comparator<X>): singleDistribute.Classification<X>; namespace singleDistribute { type Classification<X> = Readonly<Dict<Classification.Array<X>>>; namespace Classification { type Array<X> = ReadonlyArray<X>; } type Classifier<X> = (x: X) => string; } function multiDistribute<X>(values: Iterable<X>, classifier: multiDistribute.Classifier<X>, duplicationChecker?: isInIter.Comparator<X>): multiDistribute.MultipleDistribution<X>; namespace multiDistribute { interface MultipleDistribution<X> { readonly classified: MultipleDistribution.Classified<X>; readonly unclassified: MultipleDistribution.Unclassified<X>; } namespace MultipleDistribution { type Classified<X> = Readonly<Dict<Distribution<X>>>; type Unclassified<X> = ReadonlyArray<X>; type Distribution<X> = ReadonlyArray<X>; } type Classifier<X> = (x: X) => ReadonlyArray<string>; } type Dict<X> = Readonly<types.Dict.StrKey<X>>; } export default classify;