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
text/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[]
}