mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-27 11:40:08 +08:00
Created definitions for lazy.js
"Like Underscore, but lazier" https://github.com/dtao/lazy.js http://danieltao.com/lazy.js/
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
/// <reference path="lazy.js.d.ts" />
|
||||
|
||||
var sequence:LazyJS.Sequence;
|
||||
var arraySeq:LazyJS.ArrayLikeSequence;
|
||||
var objectSeq:LazyJS.ObjectLikeSequence;
|
||||
var asyncSeq:LazyJS.AsyncSequence;
|
||||
var stringSeq:LazyJS.StringLikeSequence;
|
||||
|
||||
var obj:Object;
|
||||
var bool:boolean;
|
||||
var num:number;
|
||||
var str:string;
|
||||
var x:any = null;
|
||||
var arr:any[];
|
||||
var exp:RegExp;
|
||||
var strArr:string[];
|
||||
var numArr:string[];
|
||||
|
||||
function fnCallback():void {
|
||||
}
|
||||
|
||||
function fnErrorCallback(error:any):void {
|
||||
|
||||
}
|
||||
|
||||
function fnValueCallback(value:any):void {
|
||||
}
|
||||
|
||||
function fnGetKeyCallback(value:any):string {
|
||||
return '';
|
||||
}
|
||||
|
||||
function fnTestCallback(value:any):boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
function fnMapCallback(value:any):any {
|
||||
return null;
|
||||
}
|
||||
|
||||
function fnMapStringCallback(value:string):string {
|
||||
return '';
|
||||
}
|
||||
|
||||
function fnNumberCallback(value:any):number {
|
||||
return 0;
|
||||
}
|
||||
|
||||
function fnMemoCallback(memo:any, value:any):any {
|
||||
return null;
|
||||
}
|
||||
|
||||
function fnGeneratorCallback(index:number):any {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Lazy
|
||||
|
||||
arraySeq = Lazy([]);
|
||||
objectSeq = Lazy({});
|
||||
stringSeq = Lazy('');
|
||||
|
||||
// Strict
|
||||
|
||||
var Strict = Lazy.strict();
|
||||
arraySeq = Strict([1,2,num]).pop();
|
||||
|
||||
// Sequence
|
||||
|
||||
asyncSeq = sequence.async(num);
|
||||
sequence = sequence.chunk(num);
|
||||
sequence = sequence.compact();
|
||||
sequence = sequence.concat(arr);
|
||||
sequence = sequence.consecutive(num);
|
||||
bool = sequence.contains(x);
|
||||
sequence = sequence.countBy(str);
|
||||
sequence = sequence.countBy(fnGetKeyCallback);
|
||||
sequence = sequence.dropWhile(fnTestCallback);
|
||||
sequence = sequence.each(fnValueCallback);
|
||||
bool = sequence.every(fnTestCallback);
|
||||
sequence = sequence.filter(fnTestCallback);
|
||||
sequence = sequence.find(fnTestCallback);
|
||||
sequence = sequence.findWhere(obj);
|
||||
|
||||
x = sequence.first();
|
||||
sequence= sequence.first(num);
|
||||
|
||||
sequence = sequence.flatten();
|
||||
objectSeq = sequence.groupBy(fnGetKeyCallback);
|
||||
sequence = sequence.indexOf(x);
|
||||
sequence = sequence.initial();
|
||||
sequence = sequence.initial(num);
|
||||
sequence = sequence.intersection(arr);
|
||||
sequence = sequence.invoke(str);
|
||||
bool = sequence.isEmpty();
|
||||
str = sequence.join();
|
||||
str = sequence.join(str);
|
||||
|
||||
x = sequence.last();
|
||||
sequence = sequence.last(num);
|
||||
|
||||
sequence = sequence.lastIndexOf(x);
|
||||
sequence = sequence.map(fnMapCallback);
|
||||
x = sequence.max();
|
||||
x = sequence.max(fnNumberCallback);
|
||||
x = sequence.min();
|
||||
x = sequence.min(fnNumberCallback);
|
||||
sequence = sequence.pluck(str);
|
||||
x = sequence.reduce(fnMemoCallback);
|
||||
x = sequence.reduce(fnMemoCallback, x);
|
||||
x = sequence.reduceRight(fnMemoCallback, x);
|
||||
sequence = sequence.reject(fnTestCallback);
|
||||
sequence = sequence.rest(num);
|
||||
sequence = sequence.reverse();
|
||||
sequence = sequence.shuffle();
|
||||
bool = sequence.some();
|
||||
bool = sequence.some(fnTestCallback);
|
||||
sequence = sequence.sortBy(fnNumberCallback);
|
||||
sequence = sequence.sortedIndex(x);
|
||||
sequence = sequence.sum();
|
||||
sequence = sequence.sum(fnNumberCallback);
|
||||
sequence = sequence.takeWhile(fnTestCallback);
|
||||
sequence = sequence.union(arr);
|
||||
sequence = sequence.uniq();
|
||||
sequence = sequence.where(obj);
|
||||
sequence = sequence.without(arr);
|
||||
sequence = sequence.zip(arr);
|
||||
|
||||
arr = sequence.toArray();
|
||||
obj = sequence.toObject();
|
||||
|
||||
|
||||
// ArrayLikeSequence
|
||||
|
||||
arraySeq = arraySeq.concat();
|
||||
arraySeq = arraySeq.first();
|
||||
arraySeq = arraySeq.first(num);
|
||||
x = arraySeq.get(num);
|
||||
num = arraySeq.length();
|
||||
arraySeq = arraySeq.map(fnMapCallback);
|
||||
arraySeq = arraySeq.pop();
|
||||
arraySeq = arraySeq.rest();
|
||||
arraySeq = arraySeq.rest(num);
|
||||
arraySeq = arraySeq.reverse();
|
||||
arraySeq = arraySeq.shift();
|
||||
arraySeq = arraySeq.slice(num);
|
||||
arraySeq = arraySeq.slice(num, num);
|
||||
|
||||
|
||||
// ObjectLikeSequence
|
||||
|
||||
objectSeq = objectSeq.defaults(obj);
|
||||
sequence = objectSeq.functions();
|
||||
objectSeq = objectSeq.get(str);
|
||||
objectSeq = objectSeq.invert();
|
||||
sequence = objectSeq.keys();
|
||||
objectSeq = objectSeq.omit(strArr);
|
||||
sequence = objectSeq.pairs();
|
||||
objectSeq = objectSeq.pick(strArr);
|
||||
arr = objectSeq.toArray();
|
||||
obj = objectSeq.toObject();
|
||||
sequence = objectSeq.values();
|
||||
|
||||
|
||||
// StringLikeSequence
|
||||
|
||||
str = stringSeq.charAt(num);
|
||||
num = stringSeq.charCodeAt(num);
|
||||
bool = stringSeq.contains(str);
|
||||
bool = stringSeq.endsWith(str);
|
||||
|
||||
str = stringSeq.first();
|
||||
stringSeq = stringSeq.first(num);
|
||||
|
||||
num = stringSeq.indexOf(str);
|
||||
num = stringSeq.indexOf(str, num);
|
||||
|
||||
str = stringSeq.last();
|
||||
stringSeq = stringSeq.last(num);
|
||||
|
||||
num = stringSeq.lastIndexOf(str);
|
||||
num = stringSeq.lastIndexOf(str, num);
|
||||
stringSeq = stringSeq.mapString(fnMapStringCallback);
|
||||
stringSeq = stringSeq.match(exp);
|
||||
stringSeq = stringSeq.reverse();
|
||||
|
||||
sequence = stringSeq.split(str);
|
||||
sequence = stringSeq.split(exp);
|
||||
|
||||
bool = stringSeq.startsWith(str);
|
||||
stringSeq = stringSeq.substring(num);
|
||||
stringSeq = stringSeq.substring(num, num);
|
||||
stringSeq = stringSeq.toLowerCase();
|
||||
stringSeq = stringSeq.toUpperCase();
|
||||
Vendored
+244
@@ -0,0 +1,244 @@
|
||||
// Type definitions for js 0.3.2
|
||||
// Project: https://github.com/dtao/lazy.js/
|
||||
// Definitions by: Bart van der Schoor <https://github.com/Bartvds>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module LazyJS {
|
||||
|
||||
interface LazyStatic {
|
||||
(value:string):StringLikeSequence;
|
||||
(value:any[]):ArrayLikeSequence;
|
||||
(value:Object):ObjectLikeSequence;
|
||||
(value:ArrayLike):ArrayLikeSequence;
|
||||
|
||||
strict():LazyStatic;
|
||||
|
||||
generate(generatorFn:GeneratorCallback, length?:number):GeneratedSequence;
|
||||
|
||||
range(to:number):GeneratedSequence;
|
||||
range(from:number, to:number, step?:number):GeneratedSequence;
|
||||
|
||||
repeat(value:any, count?:number):GeneratedSequence;
|
||||
|
||||
on(eventType:string):Sequence;
|
||||
|
||||
readFile(path:string):StringLikeSequence;
|
||||
makeHttpRequest(path:string):StringLikeSequence;
|
||||
}
|
||||
|
||||
interface ArrayLike {
|
||||
length:number;
|
||||
}
|
||||
|
||||
interface Callback {
|
||||
():void;
|
||||
}
|
||||
|
||||
interface ErrorCallback {
|
||||
(error:any):void;
|
||||
}
|
||||
|
||||
interface ValueCallback {
|
||||
(value:any):void;
|
||||
}
|
||||
|
||||
interface GetKeyCallback {
|
||||
(value:any):string;
|
||||
}
|
||||
|
||||
interface TestCallback {
|
||||
(value:any):boolean;
|
||||
}
|
||||
|
||||
interface MapCallback {
|
||||
(value:any):any;
|
||||
}
|
||||
|
||||
interface MapStringCallback {
|
||||
(value:string):string;
|
||||
}
|
||||
|
||||
interface NumberCallback {
|
||||
(value:any):number;
|
||||
}
|
||||
|
||||
interface MemoCallback {
|
||||
(memo:any, value:any):any;
|
||||
}
|
||||
|
||||
interface GeneratorCallback {
|
||||
(index:number):any;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
interface Iterator {
|
||||
new(sequence:Sequence):Iterator;
|
||||
current():any;
|
||||
moveNext():boolean;
|
||||
}
|
||||
|
||||
interface GeneratedSequence extends Sequence {
|
||||
new(generatorFn:GeneratorCallback, length:number):GeneratedSequence;
|
||||
length():number;
|
||||
}
|
||||
|
||||
interface AsyncSequence extends SequenceBase {
|
||||
each(callback:ValueCallback):AsyncHandle;
|
||||
}
|
||||
|
||||
interface AsyncHandle {
|
||||
cancel():void;
|
||||
onComplete(callback:Callback):void;
|
||||
onError(callback:ErrorCallback):void;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
module Sequence {
|
||||
function define(methodName:string[], overrides:Object):Function;
|
||||
}
|
||||
|
||||
interface Sequence extends SequenceBase {
|
||||
each(eachFn:ValueCallback):Sequence;
|
||||
}
|
||||
|
||||
interface SequenceBase extends SequenceBaser {
|
||||
first():any;
|
||||
first(count:number):Sequence;
|
||||
indexOf(value:any, startIndex?:number):Sequence;
|
||||
|
||||
last():any;
|
||||
last(count:number):Sequence;
|
||||
lastIndexOf(value:any):Sequence;
|
||||
|
||||
reverse():Sequence;
|
||||
}
|
||||
|
||||
interface SequenceBaser {
|
||||
// TODO improve define() (needs ugly overload)
|
||||
async(interval:number):AsyncSequence;
|
||||
chunk(size:number):Sequence;
|
||||
compact():Sequence;
|
||||
concat(var_args:any[]):Sequence;
|
||||
consecutive(length:number):Sequence;
|
||||
contains(value:any):boolean;
|
||||
countBy(propertyName:string):Sequence;
|
||||
countBy(keyFn:GetKeyCallback):Sequence;
|
||||
dropWhile(predicateFn:TestCallback):Sequence;
|
||||
every(predicateFn:TestCallback):boolean;
|
||||
filter(predicateFn:TestCallback):Sequence;
|
||||
find(predicateFn:TestCallback):Sequence;
|
||||
findWhere(properties:Object):Sequence;
|
||||
|
||||
flatten():Sequence;
|
||||
groupBy(keyFn:GetKeyCallback):ObjectLikeSequence;
|
||||
initial(count?:number):Sequence;
|
||||
intersection(var_args:any[]):Sequence;
|
||||
invoke(methodName:string):Sequence;
|
||||
isEmpty():boolean;
|
||||
join(delimiter?:string):string;
|
||||
map(mapFn:MapCallback):Sequence;
|
||||
max(valueFn?:NumberCallback):any;
|
||||
min(valueFn?:NumberCallback):any;
|
||||
pluck(propertyName:string):Sequence;
|
||||
reduce(aggregatorFn:MemoCallback, memo?:any):any;
|
||||
reduceRight(aggregatorFn:MemoCallback, memo:any):any;
|
||||
reject(predicateFn:TestCallback):Sequence;
|
||||
rest(count?:number):Sequence;
|
||||
shuffle():Sequence;
|
||||
some(predicateFn?:TestCallback):boolean;
|
||||
sortBy(sortFn:NumberCallback):Sequence;
|
||||
sortedIndex(value:any):Sequence;
|
||||
sum(valueFn?:NumberCallback):Sequence;
|
||||
takeWhile(predicateFn:TestCallback):Sequence;
|
||||
union(var_args:any[]):Sequence;
|
||||
uniq():Sequence;
|
||||
where(properties:Object):Sequence;
|
||||
without(var_args:any[]):Sequence;
|
||||
zip(var_args:any[]):Sequence;
|
||||
|
||||
toArray():any[];
|
||||
toObject():Object;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
module ArrayLikeSequence {
|
||||
function define(methodName:string[], overrides:Object):Function;
|
||||
}
|
||||
|
||||
interface ArrayLikeSequence extends Sequence {
|
||||
// define()X;
|
||||
concat():ArrayLikeSequence;
|
||||
first(count?:number):ArrayLikeSequence;
|
||||
get(index:number):any;
|
||||
length():number;
|
||||
map(mapFn:MapCallback):ArrayLikeSequence;
|
||||
pop():ArrayLikeSequence;
|
||||
rest(count?:number):ArrayLikeSequence;
|
||||
reverse():ArrayLikeSequence;
|
||||
shift():ArrayLikeSequence;
|
||||
slice(begin:number, end?:number):ArrayLikeSequence;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
module ObjectLikeSequence {
|
||||
function define(methodName:string[], overrides:Object):Function;
|
||||
}
|
||||
|
||||
interface ObjectLikeSequence extends Sequence {
|
||||
assign(other:Object):ObjectLikeSequence;
|
||||
// throws error
|
||||
//async():X;
|
||||
defaults(defaults:Object):ObjectLikeSequence;
|
||||
functions():Sequence;
|
||||
get(property:string):ObjectLikeSequence;
|
||||
invert():ObjectLikeSequence;
|
||||
keys():Sequence;
|
||||
omit(properties:string[]):ObjectLikeSequence;
|
||||
pairs():Sequence;
|
||||
pick(properties:string[]):ObjectLikeSequence;
|
||||
toArray():any[];
|
||||
toObject():Object;
|
||||
values():Sequence;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
module StringLikeSequence {
|
||||
function define(methodName:string[], overrides:Object):Function;
|
||||
}
|
||||
|
||||
interface StringLikeSequence extends SequenceBaser {
|
||||
charAt(index:number):string;
|
||||
charCodeAt(index:number):number;
|
||||
contains(value:string):boolean;
|
||||
endsWith(suffix:string):boolean;
|
||||
|
||||
first():string;
|
||||
first(count:number):StringLikeSequence;
|
||||
|
||||
indexOf(substring:string, startIndex?:number):number;
|
||||
|
||||
last():string;
|
||||
last(count:number):StringLikeSequence;
|
||||
|
||||
lastIndexOf(substring:string, startIndex?:number):number;
|
||||
mapString(mapFn:MapStringCallback):StringLikeSequence;
|
||||
match(pattern:RegExp):StringLikeSequence;
|
||||
reverse():StringLikeSequence;
|
||||
|
||||
split(delimiter:string):Sequence;
|
||||
split(delimiter:RegExp):Sequence;
|
||||
|
||||
startsWith(prefix:string):boolean;
|
||||
substring(start:number, stop?:number):StringLikeSequence;
|
||||
toLowerCase():StringLikeSequence;
|
||||
toUpperCase():StringLikeSequence;
|
||||
}
|
||||
}
|
||||
|
||||
declare var Lazy:LazyJS.LazyStatic;
|
||||
|
||||
Reference in New Issue
Block a user