import * as assert from "../../../main/generated/sync/assert/array-like"; export function promiseArrayLike (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertArrayLike(name, mixed)); }); } export function promiseMinLength (name : string, mixed : any, min : number) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertMinLength(name, mixed, min)); }); } export function promiseMinLengthHandler (min : number) : (name : string, mixed : any) => Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> => { return promiseMinLength(name, mixed, min); }; } export function promiseMaxLength (name : string, mixed : any, max : number) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertMaxLength(name, mixed, max)); }); } export function promiseMaxLengthHandler (max : number) : (name : string, mixed : any) => Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> => { return promiseMaxLength(name, mixed, max); }; } export function promiseLength (name : string, mixed : any, args : { min? : number, max? : number }) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertLength(name, mixed, args)); }); } export function promiseLengthHandler (args : { min? : number, max? : number }) : (name : string, mixed : any) => Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> => { return promiseLength(name, mixed, args); }; } export function promiseNonEmpty (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertNonEmpty(name, mixed)); }); } export function promiseContains (name : string, mixed : any, x : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertContains(name, mixed, x)); }); } export function promiseContainsHandler (x : any) : (name : string, mixed : any) => Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> => { return promiseContains(name, mixed, x); }; } export function promiseNoDuplicate (name : string, mixed : any) : Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }> { return new Promise<{ [index : number] : any, length : number, indexOf : (item : any) => number }>((resolve) => { resolve(assert.assertNoDuplicate(name, mixed)); }); }