merge master

This commit is contained in:
Marcel Binot
2012-10-30 09:06:12 +01:00
12 changed files with 2574 additions and 1515 deletions
+2 -2
View File
@@ -27,8 +27,7 @@ declare module Backbone {
wait: bool;
}
export class ModelBase {
bind(eventName: string, handler: Function, ctx?: any);
export class ModelBase extends Events {
fetch(options? : ICallbackOptions);
url: string; // or url(): string;
parse(response);
@@ -189,6 +188,7 @@ declare module Backbone {
export var history: History;
export class History {
start(options? : IHistoryOptions );
navigate(fragment: string, options: any);
pushSate();
}
+1531 -1512
View File
File diff suppressed because it is too large Load Diff
+222
View File
@@ -0,0 +1,222 @@
// Type definitions for linq.js 2.2
// Project: http://linqjs.codeplex.com/
// Definitions by: Marcin Najder
// Definitions: https://github.com/borisyankov/DefinitelyTyped
// todo: jQuery plugin, RxJS Binding
module linq {
interface EnumerableStatic {
Choice(...contents: any[]): Enumerable;
Choice(contents: any[]): Enumerable;
Cycle(...contents: any[]): Enumerable;
Cycle(contents: any[]): Enumerable;
Empty(): Enumerable;
From(obj: any[]): Enumerable;
From(obj: any): Enumerable;
Return(element: any): Enumerable;
Matches(input: string, pattern: RegExp): Enumerable;
Matches(input: string, pattern: string, flags?: string): Enumerable;
Range(start: number, count: number, step?: number): Enumerable;
RangeDown(start: number, count: number, step?: number): Enumerable;
RangeTo(start: number, to: number, step?: number): Enumerable;
Repeat(obj: any, count?: number): Enumerable;
RepeatWithFinalize(initializer: () => any, finalizer: (resource: any) =>void ): Enumerable;
Generate(func: () => any, count?: number): Enumerable;
Generate(func: string, count?: number): Enumerable;
ToInfinity(start?: number, step?: number): Enumerable;
ToNegativeInfinity(start?: number, step?: number): Enumerable;
Unfold(seed, func: ($) => any): Enumerable;
Unfold(seed, func: string): Enumerable;
}
interface Enumerable {
//Projection and Filtering Methods
CascadeBreadthFirst(func: ($) => any[], resultSelector: (v, i: number) => any): Enumerable;
CascadeBreadthFirst(func: string, resultSelector: string): Enumerable;
CascadeDepthFirst(func: ($) => any[], resultSelector: (v, i: number) => any): Enumerable;
CascadeDepthFirst(func: string, resultSelector: string): Enumerable;
Flatten(...items: any[]): Enumerable;
Pairwise(selector: (prev, next) => any): Enumerable;
Pairwise(selector: string): Enumerable;
Scan(func: (a, b) => any): Enumerable;
Scan(func: string): Enumerable;
Scan(seed, func: (a, b) => any, resultSelector?: ($) => any): Enumerable;
Scan(seed, func: string, resultSelector?: string): Enumerable;
Select(selector: ($, i: number) => any): Enumerable;
Select(selector: string): Enumerable;
SelectMany(collectionSelector: ($, i: number) => any[], resultSelector?: ($, item) => any): Enumerable;
SelectMany(collectionSelector: ($, i: number) => Enumerable, resultSelector?: ($, item) => any): Enumerable;
SelectMany(collectionSelector: string, resultSelector?: string): Enumerable;
Where(predicate: ($, i: number) => bool): Enumerable;
Where(predicate: string): Enumerable;
OfType(type: Function): Enumerable;
Zip(second: any[], selector: (v1, v2, i: number) => any): Enumerable;
Zip(second: any[], selector: string): Enumerable;
Zip(second: Enumerable, selector: (v1, v2, i: number) => any): Enumerable;
Zip(second: Enumerable, selector: string): Enumerable;
//Join Methods
Join(inner: any[], outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2) => any, compareSelector?: (v) => any): Enumerable;
Join(inner: any[], outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
Join(inner: Enumerable, outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2) => any, compareSelector?: (v) => any): Enumerable;
Join(inner: Enumerable, outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
GroupJoin(inner: any[], outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2: Enumerable) => any, compareSelector?: (v) => any): Enumerable;
GroupJoin(inner: any[], outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
GroupJoin(inner: Enumerable, outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2: Enumerable) => any, compareSelector?: (v) => any): Enumerable;
GroupJoin(inner: Enumerable, outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
//Set Methods
All(predicate: ($) => bool): bool;
All(predicate: string): bool;
Any(predicate?: ($) => bool): bool;
Any(predicate?: string): bool;
Concat(second: any[]): Enumerable;
Concat(second: Enumerable): Enumerable;
Insert(index: number, second: any[]): Enumerable;
Insert(index: number, second: Enumerable): Enumerable;
Alternate(value): Enumerable;
Contains(value, compareSelector?: ($) => any): bool;
Contains(value, compareSelector?: string): bool;
DefaultIfEmpty(defaultValue): Enumerable;
Distinct(compareSelector?: ($) => any): Enumerable;
Distinct(compareSelector?: string): Enumerable;
Except(second: any[], compareSelector?: ($) => any): Enumerable;
Except(second: any[], compareSelector?: string): Enumerable;
Except(second: Enumerable, compareSelector?: ($) => any): Enumerable;
Except(second: Enumerable, compareSelector?: string): Enumerable;
Intersect(second: any[], compareSelector?: ($) => any): Enumerable;
Intersect(second: any[], compareSelector?: string): Enumerable;
Intersect(second: Enumerable, compareSelector?: ($) => any): Enumerable;
Intersect(second: Enumerable, compareSelector?: string): Enumerable;
SequenceEqual(second: any[], compareSelector?: ($) => any): bool;
SequenceEqual(second: any[], compareSelector?: string): bool;
SequenceEqual(second: Enumerable, compareSelector?: ($) => any): bool;
SequenceEqual(second: Enumerable, compareSelector?: string): bool;
Union(second: any[], compareSelector?: ($) => any): Enumerable;
Union(second: any[], compareSelector?: string): Enumerable;
Union(second: Enumerable, compareSelector?: ($) => any): Enumerable;
Union(second: Enumerable, compareSelector?: string): Enumerable;
//Ordering Methods
OrderBy(keySelector?: ($) => any): OrderedEnumerable;
OrderBy(keySelector?: string): OrderedEnumerable;
OrderByDescending(keySelector?: ($) => any): OrderedEnumerable;
OrderByDescending(keySelector?: string): OrderedEnumerable;
Reverse(): Enumerable;
Shuffle(): Enumerable;
//Grouping Methods
GroupBy(keySelector: ($) => any, elementSelector?: ($) => any, resultSelector?: (key, e) => any, compareSelector?: ($) =>any): Enumerable;
GroupBy(keySelector: string, elementSelector?: string, resultSelector?: string, compareSelector?: string): Enumerable;
PartitionBy(keySelector: ($) => any, elementSelector?: ($) => any, resultSelector?: (key, e) => any, compareSelector?: ($) =>any): Enumerable;
PartitionBy(keySelector: string, elementSelector?: string, resultSelector?: string, compareSelector?: string): Enumerable;
BufferWithCount(count: number): Enumerable;
// Aggregate Methods
Aggregate(func: (a, b) => any);
Aggregate(seed, func: (a, b) => any, resultSelector?: ($) => any);
Aggregate(func: string);
Aggregate(seed, func: string, resultSelector?: string);
Average(selector?: ($) => number): number;
Average(selector?: string): number;
Count(predicate?: ($) => bool): number;
Count(predicate?: string): number;
Max(selector?: ($) => number): number;
Max(selector?: string): number;
Min(selector?: ($) => number): number;
Min(selector?: string): number;
MaxBy(selector: ($) => number): any;
MaxBy(selector: string): any;
MinBy(selector: ($) => number): any;
MinBy(selector: string): any;
Sum(selector?: ($) => number): number;
Sum(selector?: string): number;
//Paging Methods
ElementAt(index: number): any;
ElementAtOrDefault(index: number, defaultValue): any;
First(predicate?: ($) => bool): any;
First(predicate?: string): any;
FirstOrDefault(defaultValue, predicate?: ($) => bool): any;
FirstOrDefault(defaultValue, predicate?: string): any;
Last(predicate?: ($) => bool): any;
Last(predicate?: string): any;
LastOrDefault(defaultValue, predicate?: ($) => bool): any;
LastOrDefault(defaultValue, predicate?: string): any;
Single(predicate?: ($) => bool): any;
Single(predicate?: string): any;
SingleOrDefault(defaultValue, predicate?: ($) => bool): any;
SingleOrDefault(defaultValue, predicate?: string): any;
Skip(count: number): Enumerable;
SkipWhile(predicate: ($, i: number) => bool): Enumerable;
SkipWhile(predicate: string): Enumerable;
Take(count: number): Enumerable;
TakeWhile(predicate: ($, i: number) => bool): Enumerable;
TakeWhile(predicate: string): Enumerable;
TakeExceptLast(count?: number): Enumerable;
TakeFromLast(count: number): Enumerable;
IndexOf(item): number;
LastIndexOf(item): number;
// Convert Methods
ToArray(): any[];
ToLookup(keySelector: ($) => any, elementSelector?: ($) => any, compareSelector?: (key) => any): Lookup;
ToLookup(keySelector: string, elementSelector?: string, compareSelector?: string): Lookup;
ToObject(keySelector: ($) => string, elementSelector: ($) => any): any;
ToObject(keySelector: string, elementSelector: string): any;
ToDictionary(keySelector: ($) => any, elementSelector: ($) => any, compareSelector?: (key) => any): Dictionary;
ToDictionary(keySelector: string, elementSelector: string, compareSelector?: string): Dictionary;
ToJSON(replacer?: (key, value) => any, space?: number): string;
ToJSON(replacer?: string, space?: number): string;
ToString(separator?: string, selector?: ($) =>any): string;
ToString(separator?: string, selector?: string): string;
//Action Methods
Do(action: ($, i: number) => void ): Enumerable;
Do(action: string): Enumerable;
ForEach(action: ($, i: number) => void ): void;
ForEach(func: ($, i: number) => bool): void;
ForEach(action_func: string): void;
Write(separator?: string, selector?: ($) =>any): void;
Write(separator?: string, selector?: string): void;
WriteLine(selector?: ($) =>any): void;
Force(): void;
//Functional Methods
Let(func: (e: Enumerable) => Enumerable): Enumerable;
Share(): Enumerable;
MemoizeAll(): Enumerable;
//Error Handling Methods
Catch(handler: (error: Error) => void ): Enumerable;
Catch(handler: string): Enumerable;
Finally(finallyAction: () => void ): Enumerable;
Finally(finallyAction: string): Enumerable;
//For Debug Methods
Trace(message?: string, selector?: ($) =>any): Enumerable;
Trace(message?: string, selector?: string): Enumerable;
}
interface OrderedEnumerable extends Enumerable {
ThenBy(keySelector: ($) => any): OrderedEnumerable;
ThenBy(keySelector: string): OrderedEnumerable;
ThenByDescending(keySelector: ($) => any): OrderedEnumerable;
ThenByDescending(keySelector: string): OrderedEnumerable;
}
interface Grouping extends Enumerable {
Key();
}
interface Lookup {
Count(): number;
Get(key): Enumerable;
Contains(key): bool;
ToEnumerable(): Enumerable;
}
interface Dictionary {
Add(key, value): void;
Get(key): any;
Set(key, value): bool;
Contains(key): bool;
Clear(): void;
Remove(key): void;
Count(): number;
ToEnumerable(): Enumerable;
}
}
declare var Enumerable: linq.EnumerableStatic;
+235
View File
@@ -0,0 +1,235 @@
// Type definitions for Sammy.js
// Project: http://sammyjs.org/
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="jquery-1.8.d.ts"/>
module Sammy {
export function (): Sammy.Application;
export function (selector: string): Sammy.Application;
export function (handler: Function): Sammy.Application;
export function (selector: string, handler: Function): Sammy.Application;
export function Cache(app, options);
export function DataCacheProxy(initial, $element);
export function DataLocationProxy(app, data_name, href_attribute);
export function DefaultLocationProxy(app, run_interval_every);
export function EJS(app, method_alias);
export function Exceptional(app, errorReporter);
export function Flash(app);
export function Form(app); // formFor ( name, object, content_callback )
export function Haml(app, method_alias);
export function Handlebars(app, method_alias);
export function Hogan(app, method_alias);
export function Hoptoad(app, errorReporter);
export function JSON(app);
export function Meld(app, method_alias);
export function MemoryCacheProxy(initial);
export function Mustache(app, method_alias);
export function NestedParams(app);
export function OAuth2(app);
export function PathLocationProxy(app);
export function Pure(app, method_alias);
export function PushLocationProxy(app);
export function Session(app, options);
export function Storage(app);
export function Title();
export function Tmpl(app, method_alias);
export function addLogger(logger);
export function log();
export interface Object {
constructor (obj: any);
escapeHTML(s: string): string;
h(s: string): string;
has(key: string): bool;
join(...args: any[]): string;
keys(attributes_only?: bool): string[];
log(...args: any[]): void;
toHTML(): string;
toHash(): any;
toString(include_functions?: bool): string;
}
export interface Application extends Object {
ROUTE_VERBS: string[];
APP_EVENTS: string[];
(appFn: Function);
$element(selector?: string): JQuery;
after(callback: Function): Application;
any(verb: string, path: string, callback: Function): void;
route(verb: string, path: string, callback: Function): void;
around(callback: Function): Application;
before(options: any, callback: Function): Application;
bind(name: string, callback: Function): Application;
bind(name: string, data: any, callback: Function): Application;
bindToAllEvents(callback: Function): Application;
clearTemplateCache(): any;
contextMatchesOptions(context: any, match_options: any, positive?: bool): bool;
del(path: string, callback: Function): Application;
del(path: RegExp, callback: Function): Application;
destroy(): Application;
error(message: string, original_error: Error): void;
eventNamespace(): string;
get(path: string, callback: Function): Application;
get(path: RegExp, callback: Function): Application;
getLocation(): string;
helper(name: string, method: Function): Application;
helpers(extensions: any): Application;
isRunning(): bool;
log(...params: any[]): void;
lookupRoute(verb: string, path: string): any;
mapRoutes(route_array: any[]): Application;
notFound(verb: string, path: string): any;
post(path: string, callback: Function): Application;
post(path: RegExp, callback: Function): Application;
put(path: string, callback: Function): Application;
put(path: RegExp, callback: Function): Application;
refresh(): Application;
routablePath(path: string): string;
route(verb: string, path: string, callback: Function): Application;
route(verb: string, path: RegExp, callback: Function): Application;
run(start_url?: string): Application;
runRoute(verb: string, path: string, params: any, target: any): any;
setLocation(new_location: string): string;
setLocationProxy(new_proxy: DataLocationProxy): void;
swap(content: any, callback: Function): string;
templateCache(key: string, value: any): any;
toString(): string;
trigger(name: string, data?: any): Application;
unload(): Application;
use(...params: any[]): void;
}
export interface DataLocationProxy {
constructor (app, run_interval_every): DataLocationProxy;
fullPath(location_obj): string;
bind(): void;
unbind(): void;
setLocation(new_location: string): string;
_startPolling(every: number): void;
}
export interface EventContext extends Object {
constructor (app, verb, path, params, target);
$element(): JQuery;
engineFor(engine: any): any;
eventNamespace(): string;
interpolate(content: any, data: any, engine: any, partials): EventContext;
json(str: string): any;
load(location: any, options?: any, callback?: Function): any;
loadPartials(partials);
notFound(): any;
partial(location: string, data: any, callback: Function, partials): RenderContext;
redirect(...params: any[]): void;
render(location: string, data: any, callback: Function, partials): RenderContext;
renderEach(location: any, name?: string, data?: any, callback?: Function): RenderContext;
send(...params: any[]): RenderContext;
swap(contents: any, callback: Function): string;
toString(): string;
trigger(name: string, data?: any): EventContext;
}
export interface FormBuilder {
constructor (name, object);
checkbox(keypath: string, value: any, ...attributes: any[]): string;
close(): string;
hidden(keypath: string, ...attributes: any[]): string;
label(keypath: string, content: any, ...attributes: any[]): string;
open(...attributes: any[]);
password(keypath: string, ...attributes: any[]): string;
radio(keypath: string, value: any, ...attributes: any[]): string;
select(keypath: string, options: any, ...attributes: any[]): string;
submit(...attributes: any[]): string;
text(keypath: string, ...attributes: any[]): string;
textarea(keypath: string, ...attributes: any[]): string;
}
export interface Form {
formFor(name: string, object: any, content_callback: Function): FormBuilder;
}
export interface GoogleAnalytics {
constructor (app, tracker);
noTrack();
track(path);
}
export interface RenderContext extends Object {
constructor (event_context);
appendTo(selector: string): RenderContext;
collect(array: any[], callback: Function, now?: bool): RenderContext;
interpolate(data: any, engine?: any, retain?: bool): RenderContext;
load(location: string, options?: any, callback?: Function): RenderContext;
loadPartials(partials?: any): RenderContext;
next(content: any): void;
partial(location: string, callback: Function, partials): RenderContext;
partial(location: string, data: any, callback: Function, partials): RenderContext;
prependTo(selector: string): RenderContext;
render(callback: Function): RenderContext;
render(location: string, data: any): RenderContext;
render(location: string, callback: Function, partials?: any): RenderContext;
render(location: string, data: any, callback: Function): RenderContext;
render(location: string, data: any, callback: Function, partials: any): RenderContext;
renderEach(location: string, name: string, data: any, callback: Function): RenderContext;
replace(selector: string): RenderContext;
send(...params: any[]): RenderContext;
swap(callback: Function): RenderContext;
then(callback: Function): RenderContext;
trigger(name, data);
wait(): void;
}
export interface StoreOptions {
name?: string;
element?: string;
type?: string;
memory?: any;
data?: any;
cookie?: any;
local?: any;
session?: any;
}
export interface Store {
stores: any;
constructor (options);
clear(key: string): any;
clearAll(): void;
each(callback: Function): bool;
exists(key: string): bool;
fetch(key: string, callback: Function): any;
filter(callback: Function): bool;
first(callback: Function): bool;
get(key: string): any;
isAvailable(): bool;
keys(): string[];
load(key: string, path: string, callback: Function): void;
set(key: string, value: any): any;
Cookie(name, element, options);
Data(name, element);
LocalStorage(name, element);
Memory(name, element);
SessionStorage(name, element);
isAvailable(type);
Template(app, method_alias);
}
}
interface JQueryStatic {
sammy: Sammy;
}