decova-dotnet-developer
Version:
This package provides fundumentals that a .net developer may miss while working with Typescript, whether they are missing functinalities or funcionalities provided in a non-elegant design in javascript. Bad naming, bad design of optional parameters, non-c
62 lines • 2.36 kB
TypeScript
interface Func<T, TOut> {
(obj: T): TOut;
}
interface Action<T> {
(obj: T): void;
}
interface String {
PadRight(totalWidth: number, paddingChar: string): string;
PadLeft(totalWidth: number, paddingChar: string): string;
Substring(startIndex: number, length: number | undefined): string;
Remove(startIndex: number, length: number): string;
Contains(substr: string): boolean;
Insert(index: number, value: string): string;
ToString(): string;
IsEmpty(): boolean;
IsWhiteSpace(): boolean;
StartsWith(str: string): boolean;
EndsWith(str: string): boolean;
IndexOf(subStr: string, startSearchFromIndex: number): number;
LastIndexOf(subStr: string, startSearchFromIndex: number): number;
ReplaceOnce(toReplace: string, replacement: string): string;
ReplaceAll(toReplace: string, replacement: string): string;
}
interface StringConstructor {
Join(separator: string, parts: string[] | string): string;
}
interface Array<T> {
Count(): number;
Select<RType>(func: Func<T, RType>): RType[];
SelectMany<RType>(func: Func<T, RType[]>): RType[];
Sort(toSimpleValue: Func<T, string | number | null>): T[];
Reverse(): T[];
Foreach(func: Func<T, void>): void;
Any(func: Func<T, boolean> | null): boolean;
All(func: Func<any, boolean>): boolean;
IsEmpty(): boolean;
Add(item: T): void;
EnsureItem(item: T): void;
AddRange(items: any[]): void;
Union(another: T[]): T[];
Where(func: Func<T, boolean>): T[];
ItemAt(index: number): T;
IndexOf(item: T): number;
RemoveAt(index: any): void;
RemoveRange(index: number, lenght: number): void;
RemoveWhere(func: Func<T, boolean>): void;
GetRange(index: number, length: number | undefined): T[];
Insert(index: number, item: T): void;
InsertRange(index: number, items: T[]): void;
FirstOrDefault(func?: Func<T, boolean>): T | null;
First(func?: Func<T, boolean>): T;
LastOrDefault(func: Func<T, boolean> | null): T | null;
Last(func: Func<T, boolean> | null): T;
Skip(countToSkip: number): T[];
Take(countToTake: number): T[];
Contains(obj: T): boolean;
Distinct(): T[];
Except(except: T[]): T[];
Clone(): T[];
Intersect(otherList: T[]): T[];
}
//# sourceMappingURL=x.d.ts.map