UNPKG

monorepo-shared-assets

Version:

Shared assets used by various packages from nodemonorepo

29 lines (28 loc) 1.52 kB
import isInIter from '../.utils/in-iter'; import identify from './utils/identify'; export declare namespace classify { function singleDistribute<X, ID>(values: Iterable<X>, classifier: singleDistribute.Classifier<X, ID>, identifier?: singleDistribute.Identifier<ID>, duplicateChecker?: isInIter.Comparator<X>): singleDistribute.Classification<X, ID>; namespace singleDistribute { type Classification<X, ID> = ReadonlyMap<ID, Classification.Classified<X>>; namespace Classification { type Classified<X> = ReadonlySet<X>; } type Classifier<X, ID> = (x: X) => ID; type Identifier<ID> = identify.Identifier<ID>; } function multiDistribute<X, ID>(values: Iterable<X>, classifier: multiDistribute.Classifier<X, ID>, identifier?: multiDistribute.Identifier<ID>, duplicateChecker?: isInIter.Comparator<X>): multiDistribute.MultipleDistribution<X, ID>; namespace multiDistribute { interface MultipleDistribution<X, ID> { readonly classified: MultipleDistribution.Classified<X, ID>; readonly unclassified: MultipleDistribution.Unclassified<X>; } namespace MultipleDistribution { type Classified<X, ID> = ReadonlyMap<ID, Distribution<X>>; type Unclassified<X> = ReadonlySet<X>; type Distribution<X> = ReadonlySet<X>; } type Classifier<X, ID> = (x: X) => Iterable<ID>; type Identifier<ID> = identify.Identifier<ID>; } } export default classify;