UNPKG

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

115 lines (66 loc) 2.31 kB
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[] }