import { IterableX } from '../../iterable/iterablex' ; import { share } from '../../iterable/operators/share' ; export function shareProto < TSource > ( this ) ; export function shareProto < TSource , TResult > ( this , fn ? ) ; ignore export function shareProto < T , R > ( this , fn ? ) { return share ( fn ) ( this ) ; } IterableX . prototype . share = shareProto ; declare module '../../iterable/iterablex' { interface IterableX < T > { share : typeof shareProto ; } }