UNPKG

@algochad/prisma-core

Version:

A comprehensive NestJS library that provides EF-Core-like operations using Prisma and GraphQL. Features LINQ-style query builders, advanced data manipulation, GraphQL integration with genql, and a unified API for both Prisma and GraphQL operations. Includ

62 lines (61 loc) 4.56 kB
import { IGrouping } from './interfaces'; import { IEnumerable, IList, IOrderedEnumerable, IAsyncEnumerable } from '.'; export declare class Grouping<TKey, TElement> implements IGrouping<TKey, TElement> { private key; private _enumerable; private elements; constructor(key: TKey, elements: TElement[]); get Key(): TKey; [Symbol.iterator](): Iterator<TElement>; ToArray(): TElement[]; ToList(): IList<TElement>; Count(): number; Count(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): number; First(): TElement; First(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): TElement; FirstOrDefault(): TElement | undefined; FirstOrDefault(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): TElement | undefined; FirstOrDefault(defaultValue?: TElement): TElement | undefined; FirstOrDefault(predicate?: (value: TElement, index?: number, list?: TElement[]) => boolean, defaultValue?: TElement): TElement | undefined; Last(): TElement; Last(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): TElement; LastOrDefault(): TElement | undefined; LastOrDefault(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): TElement | undefined; LastOrDefault(defaultValue?: TElement): TElement | undefined; LastOrDefault(predicate?: (value: TElement, index?: number, list?: TElement[]) => boolean, defaultValue?: TElement): TElement | undefined; Single(): TElement; Single(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): TElement; SingleOrDefault(): TElement | undefined; SingleOrDefault(defaultValue?: TElement): TElement | undefined; ElementAt(index: number): TElement; ElementAtOrDefault(index: number): TElement | undefined; Where(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): IEnumerable<TElement>; Select<TResult>(selector: (element: TElement, index: number) => TResult): IEnumerable<TResult>; SelectMany<TResult>(selector: (element: TElement, index: number) => IEnumerable<TResult>): IEnumerable<TResult>; OrderBy<TKey>(keySelector: (key: TElement) => TKey, comparer?: (a: TElement, b: TElement) => number): IOrderedEnumerable<TElement>; OrderByDescending<TKey>(keySelector: (key: TElement) => TKey, comparer?: (a: TElement, b: TElement) => number): IOrderedEnumerable<TElement>; Distinct(): IEnumerable<TElement>; DistinctBy(keySelector: (key: TElement) => string | number): IEnumerable<TElement>; Union(list: IEnumerable<TElement>): IEnumerable<TElement>; Intersect(source: IEnumerable<TElement>): IEnumerable<TElement>; Except(source: IEnumerable<TElement>): IEnumerable<TElement>; Take(amount: number): IEnumerable<TElement>; Skip(amount: number): IEnumerable<TElement>; TakeWhile(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): IEnumerable<TElement>; SkipWhile(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): IEnumerable<TElement>; Aggregate<U>(accumulator: (accum: U, value: TElement, index: number, list?: TElement[]) => any, initialValue: U): any; Sum(transform?: (value?: TElement, index?: number, list?: TElement[]) => number): number; Average(transform?: (value?: TElement, index?: number, list?: TElement[]) => number): number; Min(selector?: (element: TElement, index: number) => number): number; Max(selector?: (element: TElement, index: number) => number): number; Any(predicate?: (value: TElement, index?: number, list?: TElement[]) => boolean): boolean; All(predicate: (value: TElement, index?: number, list?: TElement[]) => boolean): boolean; Contains(element: TElement): boolean; Join<U, R>(list: IEnumerable<U>, key1: (key: TElement) => any, key2: (key: U) => any, result: (first: TElement, second: U) => R): IEnumerable<R>; GroupJoin<U, R>(list: IEnumerable<U>, key1: (k: TElement) => any, key2: (k: U) => any, result: (first: TElement, second: IEnumerable<U>) => R): IEnumerable<R>; GroupBy<TResult = TElement>(grouper: (key: TElement) => string | number, mapper?: (element: TElement) => TResult): IEnumerable<IGrouping<string | number, TResult>>; ToAsyncEnumerable(): IAsyncEnumerable<TElement>; ForEach(action: (value?: TElement, index?: number, list?: TElement[]) => any): void; Reverse(): IEnumerable<TElement>; Concat(list: IEnumerable<TElement>): IEnumerable<TElement>; }