mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-20 12:00:53 +08:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -73,6 +73,7 @@ All definitions files include a header with the author and editors, so at some p
|
||||
* [Elm](http://elm-lang.org) (by [Dénes Harmath](https://github.com/thSoft))
|
||||
* [ember.js](http://emberjs.com/) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [emissary](https://github.com/atom/emissary) (by [vvakame](https://github.com/vvakame))
|
||||
* [Emscripten](http://kripken.github.io/emscripten-site/) (by [Kensuke MATSUZAKI](https://github.com/zakki))
|
||||
* [EpicEditor](http://epiceditor.com/) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [ES6-Promises](https://github.com/jakearchibald/ES6-Promises) (by [François de Campredon](https://github.com/fdecampredon/))
|
||||
* [Esprima](http://esprima.org/) (by [Teppei Sato](https://github.com/teppeis))
|
||||
@@ -117,6 +118,7 @@ All definitions files include a header with the author and editors, so at some p
|
||||
* [Google Translate API](https://developers.google.com/translate/) (by [Frank M](https://github.com/sgtfrankieboy))
|
||||
* [Google Url Shortener](https://developers.google.com/url-shortener/) (by [Frank M](https://github.com/sgtfrankieboy))
|
||||
* [Hammer.js](http://eightmedia.github.com/hammer.js/) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [Hapi](http://github.com/spumko/hapi) (by [Hakubo](http://github.com/hakubo))
|
||||
* [Handlebars](http://handlebarsjs.com/) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [HashMap](https://github.com/flesler/hashmap) (by [Rafał Wrzeszcz](https://wrzasq.pl))
|
||||
* [HashSet](http://www.timdown.co.uk/jshashtable/jshashset.html) (by [Sergey Gerasimov](https://github.com/gerich-home))
|
||||
@@ -320,6 +322,7 @@ All definitions files include a header with the author and editors, so at some p
|
||||
* [SignalR](http://www.asp.net/signalr) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [simple-cw-node](https://github.com/astronaughts/simple-cw-node) (by [vvakame](https://github.com/vvakame))
|
||||
* [Sinon](http://sinonjs.org/) (by [William Sears](https://github.com/mrbigdog2u))
|
||||
* [SIPml](http://sipml5.org/) (by [Adriaan Groenenboom](https://github.com/chookies))
|
||||
* [sjcl](http://crypto.stanford.edu/sjcl/) (by [Eugene Chernyshov](https://github.com/Evgenus))
|
||||
* [SlickGrid](https://github.com/mleibman/SlickGrid) (by [Josh Baldwin](https://github.com/jbaldwin))
|
||||
* [smoothie](https://github.com/joewalnes/smoothie) (by [Mike H. Hawley](https://github.com/mikehhawley) and [Drew Noakes](https://drewnoakes.com))
|
||||
|
||||
@@ -118,7 +118,7 @@ testApp.config((
|
||||
});
|
||||
|
||||
testApp.controller('TestCtrl', (
|
||||
$scope: ng.IScope,
|
||||
$scope: ng.ui.bootstrap.IModalScope,
|
||||
$log: ng.ILogService,
|
||||
$modal: ng.ui.bootstrap.IModalService,
|
||||
$modalStack: ng.ui.bootstrap.IModalStackService,
|
||||
@@ -147,9 +147,9 @@ testApp.controller('TestCtrl', (
|
||||
$log.log('modal opened');
|
||||
});
|
||||
|
||||
modalInstance.result.then(closeResult=> {
|
||||
modalInstance.result.then((closeResult:any)=> {
|
||||
$log.log('modal closed', closeResult);
|
||||
}, dismissResult=> {
|
||||
}, (dismissResult:any)=> {
|
||||
$log.log('modal dismissed', dismissResult);
|
||||
});
|
||||
|
||||
|
||||
+29
-3
@@ -1,4 +1,4 @@
|
||||
// Type definitions for Angular UI Bootstrap 0.10.0
|
||||
// Type definitions for Angular UI Bootstrap 0.11.0
|
||||
// Project: https://github.com/angular-ui/bootstrap
|
||||
// Definitions by: Brian Surowiec <https://github.com/xt0rted>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
@@ -198,6 +198,22 @@ declare module ng.ui.bootstrap {
|
||||
opened: ng.IPromise<any>;
|
||||
}
|
||||
|
||||
interface IModalScope extends ng.IScope {
|
||||
/**
|
||||
* Those methods make it easy to close a modal window without a need to create a dedicated controller
|
||||
*/
|
||||
|
||||
/**
|
||||
* Dismiss the dialog without assigning a value to the promise output
|
||||
*/
|
||||
$dismiss(reason?: any): void;
|
||||
|
||||
/**
|
||||
* Close the dialog resolving the promise to the given value
|
||||
*/
|
||||
$close(result?: any): void;
|
||||
}
|
||||
|
||||
interface IModalSettings {
|
||||
/**
|
||||
* a path to a template representing modal's content
|
||||
@@ -211,9 +227,9 @@ declare module ng.ui.bootstrap {
|
||||
|
||||
/**
|
||||
* a scope instance to be used for the modal's content (actually the $modal service is going to create a child scope of a provided scope).
|
||||
* Defaults to `$rootScope`
|
||||
* Defaults to `$rootScope`.
|
||||
*/
|
||||
scope?: any;
|
||||
scope?: IModalScope;
|
||||
|
||||
/**
|
||||
* a controller for a modal instance - it can initialize scope used by modal.
|
||||
@@ -246,6 +262,16 @@ declare module ng.ui.bootstrap {
|
||||
* additional CSS class(es) to be added to a modal window template
|
||||
*/
|
||||
windowClass?: string;
|
||||
|
||||
/**
|
||||
* optional size of modal window. Allowed values: 'sm' (small) or 'lg' (large). Requires Bootstrap 3.1.0 or later
|
||||
*/
|
||||
size?: string;
|
||||
|
||||
/**
|
||||
* a path to a template overriding modal's window template
|
||||
*/
|
||||
windowTemplateUrl?: string;
|
||||
}
|
||||
|
||||
interface IModalStackService {
|
||||
|
||||
Vendored
+16
-10
@@ -2230,13 +2230,19 @@ declare module chrome.webRequest {
|
||||
username: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
|
||||
interface HttpHeader {
|
||||
name: string;
|
||||
value?: string;
|
||||
binaryValue?: ArrayBuffer;
|
||||
}
|
||||
|
||||
interface BlockingResponse {
|
||||
cancel?: boolean;
|
||||
redirectUrl?: string;
|
||||
responseHeaders?: Object;
|
||||
responseHeaders?: HttpHeader[];
|
||||
authCredentials?: AuthCredentials;
|
||||
requestHeaders?: Object;
|
||||
requestHeaders?: HttpHeader[];
|
||||
}
|
||||
|
||||
interface RequestFilter {
|
||||
@@ -2256,7 +2262,7 @@ declare module chrome.webRequest {
|
||||
ip?: string;
|
||||
statusLine?: string;
|
||||
frameId: number;
|
||||
responseHeaders?: Object;
|
||||
responseHeaders?: HttpHeader[];
|
||||
parentFrameId: number;
|
||||
fromCache: boolean;
|
||||
url: string;
|
||||
@@ -2275,7 +2281,7 @@ declare module chrome.webRequest {
|
||||
statusLine?: string;
|
||||
frameId: number;
|
||||
requestId: string;
|
||||
responseHeaders: Object;
|
||||
responseHeaders?: HttpHeader[];
|
||||
type: string;
|
||||
method: string;
|
||||
}
|
||||
@@ -2285,7 +2291,7 @@ declare module chrome.webRequest {
|
||||
ip?: string;
|
||||
statusLine?: string;
|
||||
frameId: number;
|
||||
responseHeaders?: Object;
|
||||
responseHeaders?: HttpHeader[];
|
||||
parentFrameId: number;
|
||||
fromCache: boolean;
|
||||
url: string;
|
||||
@@ -2307,7 +2313,7 @@ declare module chrome.webRequest {
|
||||
statusLine?: string;
|
||||
frameId: number;
|
||||
challenger: Challenger;
|
||||
responseHeaders: Object;
|
||||
responseHeaders?: HttpHeader[];
|
||||
isProxy: boolean;
|
||||
realm?: string;
|
||||
parentFrameId: number;
|
||||
@@ -2326,7 +2332,7 @@ declare module chrome.webRequest {
|
||||
timeStamp: number;
|
||||
frameId: number;
|
||||
requestId: number;
|
||||
requestHeaders?: Object;
|
||||
requestHeaders?: HttpHeader[];
|
||||
type: string;
|
||||
method: string;
|
||||
}
|
||||
@@ -2350,7 +2356,7 @@ declare module chrome.webRequest {
|
||||
ip?: string;
|
||||
statusLine?: string;
|
||||
frameId: number;
|
||||
responseHeaders?: Object;
|
||||
responseHeaders?: HttpHeader[];
|
||||
parentFrameId: number;
|
||||
fromCache: boolean;
|
||||
url: string;
|
||||
@@ -2368,7 +2374,7 @@ declare module chrome.webRequest {
|
||||
timeStamp: number;
|
||||
frameId: number;
|
||||
requestId: string;
|
||||
requestHeaders: Object;
|
||||
requestHeaders?: HttpHeader[];
|
||||
type: string;
|
||||
method: string;
|
||||
}
|
||||
|
||||
Vendored
+2
@@ -1102,6 +1102,8 @@ declare module D3 {
|
||||
<T>(layers: T[], index?: number): T[];
|
||||
values(accessor?: (d: any) => any): StackLayout;
|
||||
offset(offset: string): StackLayout;
|
||||
x(accessor: (d: any, i: number) => any): StackLayout;
|
||||
y(accessor: (d: any, i: number) => any): StackLayout;
|
||||
}
|
||||
|
||||
export interface TreeLayout {
|
||||
|
||||
Vendored
+16
@@ -72,6 +72,22 @@ declare class Dropzone {
|
||||
getRejectedFiles(): DropzoneFile[];
|
||||
getQueuedFiles(): DropzoneFile[];
|
||||
getUploadingFiles(): DropzoneFile[];
|
||||
|
||||
emit(eventName: string, file: DropzoneFile, str?: string);
|
||||
emit(eventName: "thumbnail", file: DropzoneFile, path: string);
|
||||
emit(eventName: "addedfile", file: DropzoneFile);
|
||||
emit(eventName: "removedfile", file: DropzoneFile);
|
||||
emit(eventName: "processing", file: DropzoneFile);
|
||||
emit(eventName: "canceled", file: DropzoneFile);
|
||||
emit(eventName: "complete", file: DropzoneFile);
|
||||
|
||||
emit(eventName: string, e: Event);
|
||||
emit(eventName: "drop", e: Event);
|
||||
emit(eventName: "dragstart", e: Event);
|
||||
emit(eventName: "dragend", e: Event);
|
||||
emit(eventName: "dragenter", e: Event);
|
||||
emit(eventName: "dragover", e: Event);
|
||||
emit(eventName: "dragleave", e: Event);
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
|
||||
Vendored
+162
-159
@@ -11,12 +11,15 @@ declare var Handlebars: HandlebarsStatic;
|
||||
declare module EmberStates {
|
||||
|
||||
interface Transition {
|
||||
abort(): void;
|
||||
addInitialStates(): void;
|
||||
matchContextsToStates(contexts: any[]): void;
|
||||
normalize(manager: Ember.StateManager, contexts: any[]): void;
|
||||
removeUnchangedContexts(manager: Ember.StateManager): void;
|
||||
retry(): void;
|
||||
sendEvents(eventName: string, sendRecursiveArguments: boolean, isUnhandledPass: boolean): void;
|
||||
sendRecursively(event: string, currentState: Ember.State, isUnhandledPass: boolean): void;
|
||||
targetName: string;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -38,10 +41,10 @@ declare module EmberTesting {
|
||||
}
|
||||
|
||||
interface Function {
|
||||
observes(...string): Function;
|
||||
observesBefore(...string): Function;
|
||||
on(...string): Function;
|
||||
property(...string): Function;
|
||||
observes(...args: string[]): Function;
|
||||
observesBefore(...args: string[]): Function;
|
||||
on(...args: string[]): Function;
|
||||
property(...args: string[]): Function;
|
||||
}
|
||||
|
||||
interface String {
|
||||
@@ -50,9 +53,9 @@ interface String {
|
||||
classify(): string;
|
||||
dasherize(): string;
|
||||
decamelize(): string;
|
||||
fmt(...string): string;
|
||||
fmt(...args: string[]): string;
|
||||
htmlSafe(): typeof Handlebars.SafeString;
|
||||
loc(...string): string;
|
||||
loc(...args: string[]): string;
|
||||
underscore(): string;
|
||||
w(): string[];
|
||||
}
|
||||
@@ -70,14 +73,14 @@ interface Array<T> {
|
||||
clear(): any[];
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Ember.Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Ember.Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Ember.Enumerable, adding: Ember.Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Ember.Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Ember.Enumerable);
|
||||
enumerableContentDidChange(removing: Ember.Enumerable, adding: Ember.Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Ember.Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Ember.Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Ember.Enumerable, adding: Ember.Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Ember.Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Ember.Enumerable): any;
|
||||
enumerableContentDidChange(removing: Ember.Enumerable, adding: Ember.Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): any[];
|
||||
enumerableContentWillChange(removing: Ember.Enumerable, adding: number): any[];
|
||||
enumerableContentWillChange(removing: number, adding: Ember.Enumerable): any[];
|
||||
@@ -93,15 +96,15 @@ interface Array<T> {
|
||||
getEach(key: string): any[];
|
||||
indexOf(object: any, startAt: number): number;
|
||||
insertAt(idx: number, object: any): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
lastIndexOf(object: any, startAt: number): number;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
objectAt(idx: number): any;
|
||||
objectsAt(...number): any[];
|
||||
objectsAt(...args: number[]): any[];
|
||||
popObject(): any;
|
||||
pushObject(obj: any): any;
|
||||
pushObjects(...any): any[];
|
||||
pushObjects(...args: any[]): any[];
|
||||
reduce(callback: ReduceCallback, initialValue: any, reducerProperty: string): any;
|
||||
reject: ItemIndexEnumerableCallbackTarget;
|
||||
rejectBy(key: string, value?: string): any[];
|
||||
@@ -136,7 +139,7 @@ interface Array<T> {
|
||||
decrementProperty(keyName: string, decrement?: number): number;
|
||||
endPropertyChanges(): any[];
|
||||
get(keyName: string): any;
|
||||
getProperties(...string): {};
|
||||
getProperties(...args: string[]): {};
|
||||
getProperties(keys: string[]): {};
|
||||
getWithDefault(keyName: string, defaultValue: any): any;
|
||||
hasObserverFor(key: string): boolean;
|
||||
@@ -190,8 +193,8 @@ interface CoreObjectArguments {
|
||||
}
|
||||
|
||||
interface EnumerableConfigurationOptions {
|
||||
willChange? ;
|
||||
didChange? ;
|
||||
willChange?: boolean ;
|
||||
didChange?: boolean ;
|
||||
}
|
||||
|
||||
interface ItemIndexEnumerableCallbackTarget {
|
||||
@@ -365,14 +368,14 @@ declare module Ember {
|
||||
someProperty(key: string, value?: string): boolean;
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): Enumerable;
|
||||
@@ -387,13 +390,13 @@ declare module Ember {
|
||||
forEach(callback: Function, target?: any): any;
|
||||
getEach(key: string): any[];
|
||||
indexOf(object: any, startAt: number): number;
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
lastIndexOf(object: any, startAt: number): number;
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
objectAt(idx: number): any;
|
||||
objectsAt(...number): any[];
|
||||
objectsAt(...args: number[]): any[];
|
||||
reduce(callback: ReduceCallback, initialValue: any, reducerProperty: string): any;
|
||||
reject: ItemIndexEnumerableCallbackTarget;
|
||||
rejectBy(key: string, value?: string): any[];
|
||||
@@ -405,9 +408,9 @@ declare module Ember {
|
||||
toArray(): any[];
|
||||
uniq(): Enumerable;
|
||||
without(value: any): Enumerable;
|
||||
'@each': EachProxy;
|
||||
'@each': EachProxy;
|
||||
Boolean: boolean;
|
||||
'[]': any[];
|
||||
'[]': any[];
|
||||
firstObject: any;
|
||||
hasEnumerableObservers: boolean;
|
||||
lastObject: any;
|
||||
@@ -438,8 +441,8 @@ declare module Ember {
|
||||
sortAscending: boolean;
|
||||
sortFunction: Comparable;
|
||||
sortProperties: any[];
|
||||
replaceRoute(name: string, ...any);
|
||||
transitionToRoute(name: string, ...any);
|
||||
replaceRoute(name: string, ...args: any[]): void;
|
||||
transitionToRoute(name: string, ...args: any[]): void;
|
||||
controllers: {};
|
||||
needs: string[];
|
||||
target: any;
|
||||
@@ -482,14 +485,14 @@ declare module Ember {
|
||||
clear(): any[];
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): any[];
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): any[];
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): any[];
|
||||
@@ -505,24 +508,24 @@ declare module Ember {
|
||||
getEach(key: string): any[];
|
||||
indexOf(object: any, startAt: number): number;
|
||||
insertAt(idx: number, object: any): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
lastIndexOf(object: any, startAt: number): number;
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
objectAt(idx: number): any;
|
||||
objectAtContent(idx: number): any;
|
||||
objectsAt(...number): any[];
|
||||
objectsAt(...args: number[]): any[];
|
||||
popObject(): any;
|
||||
pushObject(obj: any): any;
|
||||
pushObjects(...any): any[];
|
||||
pushObjects(...args: any[]): any[];
|
||||
reduce(callback: ReduceCallback, initialValue: any, reducerProperty: string): any;
|
||||
reject: ItemIndexEnumerableCallbackTarget;
|
||||
rejectBy(key: string, value?: string): any[];
|
||||
removeArrayObserver(target: any, opts: EnumerableConfigurationOptions): any[];
|
||||
removeAt(start: number, len: number): any;
|
||||
removeEnumerableObserver(target: any, opts: EnumerableConfigurationOptions): any[];
|
||||
replace(idx: number, amt: number, objects: any[]);
|
||||
replace(idx: number, amt: number, objects: any[]): any;
|
||||
replaceContent(idx: number, amt: number, objects: any[]): void;
|
||||
reverseObjects(): any[];
|
||||
setEach(key: string, value?: any): any;
|
||||
@@ -535,8 +538,8 @@ declare module Ember {
|
||||
unshiftObject(object: any): any;
|
||||
unshiftObjects(objects: any[]): any[];
|
||||
without(value: any): any[];
|
||||
'[]': any[];
|
||||
'@each': EachProxy;
|
||||
'[]': any[];
|
||||
'@each': EachProxy;
|
||||
Boolean: boolean;
|
||||
firstObject: any;
|
||||
hasEnumerableObservers: boolean;
|
||||
@@ -657,7 +660,7 @@ declare module Ember {
|
||||
cacheable(aFlag?: boolean): ComputedProperty;
|
||||
get(keyName: string): any;
|
||||
meta(meta: {}): ComputedProperty;
|
||||
property(...string): ComputedProperty;
|
||||
property(...args: string[]): ComputedProperty;
|
||||
readOnly(): ComputedProperty;
|
||||
set(keyName: string, newValue: any, oldValue: string): any;
|
||||
// ReSharper disable UsingOfReservedWord
|
||||
@@ -721,8 +724,8 @@ declare module Ember {
|
||||
Additional methods for the ControllerMixin.
|
||||
**/
|
||||
class ControllerMixin {
|
||||
replaceRoute(name: string, ...any): void;
|
||||
transitionToRoute(name: string, ...any): void;
|
||||
replaceRoute(name: string, ...args: any[]): void;
|
||||
transitionToRoute(name: string, ...args: any[]): void;
|
||||
controllers: {};
|
||||
needs: string[];
|
||||
target: any;
|
||||
@@ -879,14 +882,14 @@ declare module Ember {
|
||||
someProperty(key: string, value?: string): boolean;
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): Enumerable;
|
||||
@@ -900,7 +903,7 @@ declare module Ember {
|
||||
findBy(key: string, value?: string): any;
|
||||
forEach(callback: Function, target?: any): any;
|
||||
getEach(key: string): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
@@ -913,7 +916,7 @@ declare module Ember {
|
||||
toArray(): any[];
|
||||
uniq(): Enumerable;
|
||||
without(value: any): Enumerable;
|
||||
'[]': any[];
|
||||
'[]': any[];
|
||||
firstObject: any;
|
||||
hasEnumerableObservers: boolean;
|
||||
lastObject: any;
|
||||
@@ -954,7 +957,7 @@ declare module Ember {
|
||||
off(name: string, target: any, method: Function): Evented;
|
||||
on(name: string, target: any, method: Function): Evented;
|
||||
one(name: string, target: any, method: Function): Evented;
|
||||
trigger(name: string, ...string): void;
|
||||
trigger(name: string, ...args: string[]): void;
|
||||
}
|
||||
var FROZEN_ERROR: string;
|
||||
class Freezable {
|
||||
@@ -996,19 +999,19 @@ declare module Ember {
|
||||
class Compiler { }
|
||||
class JavaScriptCompiler { }
|
||||
function registerHelper(name: string, fn: Function, inverse?: boolean): void;
|
||||
function registerPartial(name: string, str): void;
|
||||
function K();
|
||||
function createFrame(object);
|
||||
function registerPartial(name: string, str: any): void;
|
||||
function K(): any;
|
||||
function createFrame(objec: any): any;
|
||||
function Exception(message: string): void;
|
||||
class SafeString {
|
||||
constructor(str: string);
|
||||
static toString(): string;
|
||||
}
|
||||
function parse(string: string);
|
||||
function print(ast);
|
||||
var logger;
|
||||
function log(level, str): void;
|
||||
function compile(environment, options?, context?, asObject?);
|
||||
function parse(string: string): any;
|
||||
function print(ast: any): void;
|
||||
var logger: typeof Ember.Logger;
|
||||
function log(level: string, str: string): void;
|
||||
function compile(environment: any, options?: any, context?: any, asObject?: any): any;
|
||||
}
|
||||
class HashLocation extends Object {
|
||||
static detect(obj: any): boolean;
|
||||
@@ -1046,7 +1049,7 @@ declare module Ember {
|
||||
var IS_BINDING: RegExp;
|
||||
class Instrumentation {
|
||||
getProperties(obj: any, list: any[]): {};
|
||||
getProperties(obj: any, ...string): {};
|
||||
getProperties(obj: any, ...args: string[]): {};
|
||||
instrument(name: string, payload: any, callback: Function, binding: any): void;
|
||||
reset(): void;
|
||||
subscribe(pattern: string, object: any): void;
|
||||
@@ -1094,11 +1097,11 @@ declare module Ember {
|
||||
}
|
||||
var Logger: {
|
||||
assert(param: any): void;
|
||||
debug(...any): void;
|
||||
error(...any): void;
|
||||
info(...any): void;
|
||||
log(...any): void;
|
||||
warn(...any): void;
|
||||
debug(...args: any[]): void;
|
||||
error(...args: any[]): void;
|
||||
info(...args: any[]): void;
|
||||
log(...args: any[]): void;
|
||||
warn(...args: any[]): void;
|
||||
};
|
||||
function MANDATORY_SETTER_FUNCTION(value: string): void;
|
||||
var META_KEY: string;
|
||||
@@ -1137,14 +1140,14 @@ declare module Ember {
|
||||
clear(): any[];
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): Enumerable;
|
||||
@@ -1160,23 +1163,23 @@ declare module Ember {
|
||||
getEach(key: string): any[];
|
||||
indexOf(object: any, startAt: number): number;
|
||||
insertAt(idx: number, object: any): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
lastIndexOf(object: any, startAt: number): number;
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
objectAt(idx: number): any;
|
||||
objectsAt(...number): any[];
|
||||
objectsAt(...args: number[]): any[];
|
||||
popObject(): any;
|
||||
pushObject(obj: any): any;
|
||||
pushObjects(...any): any[];
|
||||
pushObjects(...args: any[]): any[];
|
||||
reduce(callback: ReduceCallback, initialValue: any, reducerProperty: string): any;
|
||||
reject: ItemIndexEnumerableCallbackTarget;
|
||||
rejectBy(key: string, value?: string): any[];
|
||||
removeArrayObserver(target: any, opts: EnumerableConfigurationOptions): any[];
|
||||
removeAt(start: number, len: number): any;
|
||||
removeEnumerableObserver(target: any, opts: EnumerableConfigurationOptions): Enumerable;
|
||||
replace(idx: number, amt: number, objects: any[]);
|
||||
replace(idx: number, amt: number, objects: any[]): any;
|
||||
reverseObjects(): any[];
|
||||
setEach(key: string, value?: any): any;
|
||||
setObjects(objects: any[]): any[];
|
||||
@@ -1209,14 +1212,14 @@ declare module Ember {
|
||||
someProperty(key: string, value?: string): boolean;
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): Enumerable;
|
||||
@@ -1230,7 +1233,7 @@ declare module Ember {
|
||||
findBy(key: string, value?: string): any;
|
||||
forEach(callback: Function, target?: any): any;
|
||||
getEach(key: string): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
@@ -1245,7 +1248,7 @@ declare module Ember {
|
||||
toArray(): any[];
|
||||
uniq(): Enumerable;
|
||||
without(value: any): Enumerable;
|
||||
'[]': any[];
|
||||
'[]': any[];
|
||||
firstObject: any;
|
||||
hasEnumerableObservers: boolean;
|
||||
lastObject: any;
|
||||
@@ -1280,14 +1283,14 @@ declare module Ember {
|
||||
clear(): any[];
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): any[];
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): any[];
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): any[];
|
||||
@@ -1303,23 +1306,23 @@ declare module Ember {
|
||||
getEach(key: string): any[];
|
||||
indexOf(object: any, startAt: number): number;
|
||||
insertAt(idx: number, object: any): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
lastIndexOf(object: any, startAt: number): number;
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
objectAt(idx: number): any;
|
||||
objectsAt(...number): any[];
|
||||
objectsAt(...args: number[]): any[];
|
||||
popObject(): any;
|
||||
pushObject(obj: any): any;
|
||||
pushObjects(...any): any[];
|
||||
pushObjects(...args: any[]): any[];
|
||||
reduce(callback: ReduceCallback, initialValue: any, reducerProperty: string): any;
|
||||
reject: ItemIndexEnumerableCallbackTarget;
|
||||
rejectBy(key: string, value?: string): any[];
|
||||
removeArrayObserver(target: any, opts: EnumerableConfigurationOptions): any[];
|
||||
removeAt(start: number, len: number): any;
|
||||
removeEnumerableObserver(target: any, opts: EnumerableConfigurationOptions): any[];
|
||||
replace(idx: number, amt: number, objects: any[]);
|
||||
replace(idx: number, amt: number, objects: any[]): any;
|
||||
reverseObjects(): any[];
|
||||
setEach(key: string, value?: any): any;
|
||||
setObjects(objects: any[]): any[];
|
||||
@@ -1348,7 +1351,7 @@ declare module Ember {
|
||||
decrementProperty(keyName: string, decrement?: number): number;
|
||||
endPropertyChanges(): any[];
|
||||
get(keyName: string): any;
|
||||
getProperties(...string): {};
|
||||
getProperties(...args: string[]): {};
|
||||
getProperties(keys: string[]): {};
|
||||
getWithDefault(keyName: string, defaultValue: any): any;
|
||||
hasObserverFor(key: string): boolean;
|
||||
@@ -1426,7 +1429,7 @@ declare module Ember {
|
||||
decrementProperty(keyName: string, decrement?: number): number;
|
||||
endPropertyChanges(): Observable;
|
||||
get(keyName: string): any;
|
||||
getProperties(...string): {};
|
||||
getProperties(...args: string[]): {};
|
||||
getProperties(keys: string[]): {};
|
||||
getWithDefault(keyName: string, defaultValue: any): any;
|
||||
hasObserverFor(key: string): boolean;
|
||||
@@ -1441,8 +1444,8 @@ declare module Ember {
|
||||
toggleProperty(keyName: string): any;
|
||||
}
|
||||
class ObjectController extends ObjectProxy implements ControllerMixin {
|
||||
replaceRoute(name: string, ...any): void;
|
||||
transitionToRoute(name: string, ...any): void;
|
||||
replaceRoute(name: string, ...args: any[]): void;
|
||||
transitionToRoute(name: string, ...args: any[]): void;
|
||||
controllers: Object;
|
||||
needs: string[];
|
||||
target: any;
|
||||
@@ -1474,7 +1477,7 @@ declare module Ember {
|
||||
decrementProperty(keyName: string, decrement?: number): number;
|
||||
endPropertyChanges(): Observable;
|
||||
get(keyName: string): any;
|
||||
getProperties(...string): {};
|
||||
getProperties(...args: string[]): {};
|
||||
getProperties(keys: string[]): {};
|
||||
getWithDefault(keyName: string, defaultValue: any): any;
|
||||
hasObserverFor(key: string): boolean;
|
||||
@@ -1551,12 +1554,12 @@ declare module Ember {
|
||||
render(name: string, options?: RenderOptions): void;
|
||||
renderTemplate(controller: Controller, model: {}): void;
|
||||
// ReSharper disable once InconsistentNaming
|
||||
replaceWith(name: string, ...Object): void;
|
||||
send(name: string, ...any): void;
|
||||
replaceWith(name: string, ...object: any[]): void;
|
||||
send(name: string, ...args: any[]): void;
|
||||
serialize(model: {}, params: string[]): string;
|
||||
setupController(controller: Controller, model: {}): void;
|
||||
// ReSharper disable once InconsistentNaming
|
||||
transitionTo(name: string, ...Object): void;
|
||||
transitionTo(name: string, ...object: any[]): void;
|
||||
actions: ActionsHash;
|
||||
}
|
||||
class Router extends Object {
|
||||
@@ -1634,14 +1637,14 @@ declare module Ember {
|
||||
someProperty(key: string, value?: string): boolean;
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): Set;
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): Set;
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): Set;
|
||||
@@ -1655,7 +1658,7 @@ declare module Ember {
|
||||
findBy(key: string, value?: string): any;
|
||||
forEach(callback: Function, target?: any): any;
|
||||
getEach(key: string): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
@@ -1679,13 +1682,13 @@ declare module Ember {
|
||||
freeze(): Set;
|
||||
isFrozen: boolean;
|
||||
add(obj: any): Set;
|
||||
addEach(...any): Set;
|
||||
addEach(...args: any[]): Set;
|
||||
clear(): Set;
|
||||
isEqual(obj: Set): boolean;
|
||||
pop(): any;
|
||||
push(obj: any): Set;
|
||||
remove(obj: any): Set;
|
||||
removeEach(...any): Set;
|
||||
removeEach(...args: any[]): Set;
|
||||
shift(): any;
|
||||
unshift(obj: any): Set;
|
||||
length: number;
|
||||
@@ -1699,14 +1702,14 @@ declare module Ember {
|
||||
someProperty(key: string, value?: string): boolean;
|
||||
compact(): any[];
|
||||
contains(obj: any): boolean;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: number, adding: number);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number);
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable);
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable);
|
||||
enumerableContentDidChange(start: number, removing: number, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(start: number, removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(start: number, removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: number, adding: number): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: number): any;
|
||||
enumerableContentDidChange(removing: number, adding: Enumerable): any;
|
||||
enumerableContentDidChange(removing: Enumerable, adding: Enumerable): any;
|
||||
enumerableContentWillChange(removing: number, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: Enumerable, adding: number): Enumerable;
|
||||
enumerableContentWillChange(removing: number, adding: Enumerable): Enumerable;
|
||||
@@ -1720,7 +1723,7 @@ declare module Ember {
|
||||
findBy(key: string, value?: string): any;
|
||||
forEach(callback: Function, target?: any): any;
|
||||
getEach(key: string): any[];
|
||||
invoke(methodName: string, ...any): any[];
|
||||
invoke(methodName: string, ...args: any[]): any[];
|
||||
map: ItemIndexEnumerableCallbackTarget;
|
||||
mapBy(key: string): any[];
|
||||
nextObject(index: number, previousObject: any, context: any): any;
|
||||
@@ -1763,7 +1766,7 @@ declare module Ember {
|
||||
off(name: string, target: any, method: Function): State;
|
||||
on(name: string, target: any, method: Function): State;
|
||||
one(name: string, target: any, method: Function): State;
|
||||
trigger(name: string, ...string): void;
|
||||
trigger(name: string, ...args: string[]): void;
|
||||
getPathsCache(stateManager: {}, path: string): {};
|
||||
init(): void;
|
||||
setPathsCache(stateManager: {}, path: string, transitions: any): void;
|
||||
@@ -1804,7 +1807,7 @@ declare module Ember {
|
||||
stateMetaFor(state: State): {};
|
||||
transitionTo(path: string, context: any): void;
|
||||
triggerSetupContext(transitions: TransitionsHash): void;
|
||||
unhandledEvent(manager: StateManager, event: string);
|
||||
unhandledEvent(manager: StateManager, event: string): any;
|
||||
currentPath: string;
|
||||
currentState: State;
|
||||
errorOnUnhandledEvents: boolean;
|
||||
@@ -1816,9 +1819,9 @@ declare module Ember {
|
||||
function classify(str: string): string;
|
||||
function dasherize(str: string): string;
|
||||
function decamelize(str: string): string;
|
||||
function fmt(...string): string;
|
||||
function fmt(...args: string[]): string;
|
||||
function htmlSafe(str: string): void; // TODO: @returns Handlebars.SafeStringStatic;
|
||||
function loc(...string): string;
|
||||
function loc(...args: string[]): string;
|
||||
function underscore(str: string): string;
|
||||
function w(str: string): string[];
|
||||
}
|
||||
@@ -2001,8 +2004,8 @@ declare module Ember {
|
||||
var computed: {
|
||||
(callback: Function): ComputedProperty;
|
||||
alias(dependentKey: string): ComputedProperty;
|
||||
and(...string): ComputedProperty;
|
||||
any(...string): ComputedProperty;
|
||||
and(...args: string[]): ComputedProperty;
|
||||
any(...args: string[]): ComputedProperty;
|
||||
bool(dependentKey: string): ComputedProperty;
|
||||
defaultTo(defaultPath: string): ComputedProperty;
|
||||
empty(dependentKey: string): ComputedProperty;
|
||||
@@ -2011,13 +2014,13 @@ declare module Ember {
|
||||
gte(dependentKey: string, value: number): ComputedProperty;
|
||||
lt(dependentKey: string, value: number): ComputedProperty;
|
||||
lte(dependentKey: string, value: number): ComputedProperty;
|
||||
map(...string): ComputedProperty;
|
||||
map(...args: string[]): ComputedProperty;
|
||||
match(dependentKey: string, regexp: RegExp): ComputedProperty;
|
||||
none(dependentKey: string): ComputedProperty;
|
||||
not(dependentKey: string): ComputedProperty;
|
||||
notEmpty(dependentKey: string): ComputedProperty;
|
||||
oneWay(dependentKey: string): ComputedProperty;
|
||||
or(...string): ComputedProperty;
|
||||
or(...args: string[]): ComputedProperty;
|
||||
};
|
||||
// ReSharper disable DuplicatingLocalDeclaration
|
||||
var config: {};
|
||||
@@ -2057,7 +2060,7 @@ declare module Ember {
|
||||
function handleErrors(func: Function, context: any): any;
|
||||
function hasListeners(context: any, name: string): boolean;
|
||||
function hasOwnProperty(prop: string): boolean;
|
||||
function immediateObserver(func: Function, ...propertyNames): Function;
|
||||
function immediateObserver(func: Function, ...propertyNames: any[]): Function;
|
||||
var imports: {};
|
||||
function inspect(obj: any): string;
|
||||
function instrument(name: string, payload: any, callback: Function, binding: any): void;
|
||||
@@ -2079,13 +2082,13 @@ declare module Ember {
|
||||
function merge(original: any, updates: any): any;
|
||||
function meta(obj: any, writable?: boolean): {};
|
||||
function metaPath(obj: any, path: string, writable?: boolean): any;
|
||||
function mixin(obj: any, ...any): any;
|
||||
function mixin(obj: any, ...args: any[]): any;
|
||||
/**
|
||||
Ember.none is deprecated. Please use Ember.isNone instead.
|
||||
**/
|
||||
var none: typeof deprecateFunc;
|
||||
function normalizeTuple(target: any, path: string): any[];
|
||||
function observer(func: Function, ...string): Function;
|
||||
function observer(func: Function, ...args: string[]): Function;
|
||||
function observersFor(obj: any, path: string): any[];
|
||||
function onLoad(name: string, callback: Function): void;
|
||||
function oneWay(obj: any, to: string, from: string): Binding;
|
||||
@@ -2119,18 +2122,18 @@ declare module Ember {
|
||||
debounce(target: any, method: Function, ...args: any[]): void;
|
||||
debounce(target: any, method: string, ...args: any[]): void;
|
||||
end(): void;
|
||||
join(target: any, method: Function, ...any): any;
|
||||
join(target: any, method: string, ...any): any;
|
||||
join(target: any, method: Function, ...args: any[]): any;
|
||||
join(target: any, method: string, ...args: any[]): any;
|
||||
later(target: any, method: Function, ...args: any[]): string;
|
||||
later(target: any, method: string, ...args: any[]): string;
|
||||
next(target: any, method: Function, ...any): number;
|
||||
next(target: any, method: string, ...any): number;
|
||||
once(target: any, method: Function, ...any): number;
|
||||
once(target: any, method: string, ...any): number;
|
||||
schedule(queue: string, target: any, method: Function, ...any): void;
|
||||
schedule(queue: string, target: any, method: string, ...any): void;
|
||||
scheduleOnce(queue: string, target: any, method: Function, ...any): void;
|
||||
scheduleOnce(queue: string, target: any, method: string, ...any): void;
|
||||
next(target: any, method: Function, ...args: any[]): number;
|
||||
next(target: any, method: string, ...args: any[]): number;
|
||||
once(target: any, method: Function, ...args: any[]): number;
|
||||
once(target: any, method: string, ...args: any[]): number;
|
||||
schedule(queue: string, target: any, method: Function, ...args: any[]): void;
|
||||
schedule(queue: string, target: any, method: string, ...args: any[]): void;
|
||||
scheduleOnce(queue: string, target: any, method: Function, ...args: any[]): void;
|
||||
scheduleOnce(queue: string, target: any, method: string, ...args: any[]): void;
|
||||
sync(): void;
|
||||
throttle(target: any, method: Function, ...args: any[]): void;
|
||||
throttle(target: any, method: string, ...args: any[]): void;
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/// <reference path="emscripten.d.ts" />
|
||||
|
||||
|
||||
/// Module
|
||||
function ModuleTest(): void {
|
||||
Module.print = function(text) { alert('stdout: ' + text) };
|
||||
|
||||
var int_sqrt = Module.cwrap('int_sqrt', 'number', ['number'])
|
||||
int_sqrt(12)
|
||||
int_sqrt(28)
|
||||
|
||||
var myTypedArray = new Uint8Array(10);
|
||||
var buf = Module._malloc(myTypedArray.length*myTypedArray.BYTES_PER_ELEMENT);
|
||||
Module.HEAPU8.set(myTypedArray, buf);
|
||||
Module.ccall('my_function', 'number', ['number'], [buf]);
|
||||
Module._free(buf);
|
||||
}
|
||||
|
||||
/// FS
|
||||
function FSTest(): void {
|
||||
FS.mkdir('/working');
|
||||
FS.mount(NODEFS, { root: '.' }, '/working');
|
||||
|
||||
function myAppStartup(): void {
|
||||
FS.mkdir('/data');
|
||||
FS.mount(IDBFS, {}, '/data');
|
||||
|
||||
FS.syncfs(true, function (err) {
|
||||
// handle callback
|
||||
});
|
||||
}
|
||||
|
||||
function myAppShutdown() {
|
||||
FS.syncfs(function (err) {
|
||||
// handle callback
|
||||
});
|
||||
}
|
||||
|
||||
var id = FS.makedev(64, 0);
|
||||
FS.registerDevice(id, {});
|
||||
FS.mkdev('/dummy', id);
|
||||
|
||||
FS.writeFile('file', 'foobar');
|
||||
FS.symlink('file', 'link');
|
||||
|
||||
FS.writeFile('/foobar.txt', 'Hello, world');
|
||||
FS.unlink('/foobar.txt');
|
||||
|
||||
FS.writeFile('file', 'foobar');
|
||||
FS.symlink('file', 'link');
|
||||
|
||||
FS.writeFile('forbidden', 'can\'t touch this');
|
||||
FS.chmod('forbidden', 0000);
|
||||
|
||||
FS.writeFile('file', 'foobar');
|
||||
FS.truncate('file', 3);
|
||||
|
||||
var stream = FS.open('abinaryfile', 'r');
|
||||
var buf = new Uint8Array(4);
|
||||
FS.read(stream, buf, 0, 4, 0);
|
||||
FS.close(stream);
|
||||
|
||||
var data = new Uint8Array(32);
|
||||
var stream = FS.open('dummy', 'w+');
|
||||
FS.write(stream, data, 0, data.length, 0);
|
||||
FS.close(stream);
|
||||
|
||||
var lookup = FS.lookupPath("path", { parent: true });
|
||||
}
|
||||
Vendored
+185
@@ -0,0 +1,185 @@
|
||||
// Type definitions for Emscripten
|
||||
// Project: http://kripken.github.io/emscripten-site/index.html
|
||||
// Definitions by: Kensuke Matsuzaki <https://github.com/zakki>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Emscripten {
|
||||
interface FileSystemType {
|
||||
}
|
||||
}
|
||||
|
||||
declare module Module {
|
||||
function print(str: string): void;
|
||||
function printErr(str: string): void;
|
||||
var arguments: string[];
|
||||
var preInit: { (): void }[];
|
||||
var preRun: { (): void }[];
|
||||
var postRun: { (): void }[];
|
||||
var noExitRuntime: boolean;
|
||||
|
||||
var Runtime: any;
|
||||
|
||||
function ccall(ident: string, returnType: string, argTypes: string[], args: any[]): any;
|
||||
function cwrap(ident: string, returnType: string, argTypes: string[]): any;
|
||||
|
||||
function setValue(ptr: number, value: any, type: string, noSafe: boolean): void;
|
||||
function getValue(ptr: number, type: string, noSafe: boolean): any;
|
||||
|
||||
var ALLOC_NORMAL: number;
|
||||
var ALLOC_STACK: number;
|
||||
var ALLOC_STATIC: number;
|
||||
var ALLOC_DYNAMIC: number;
|
||||
var ALLOC_NONE: number;
|
||||
|
||||
function allocate(slab: any, types: string, allocator: number, ptr: number): number;
|
||||
function allocate(slab: any, types: string[], allocator: number, ptr: number): number;
|
||||
|
||||
function Pointer_stringify(ptr: number, length?: number): string;
|
||||
function UTF16ToString(ptr: number): string;
|
||||
function stringToUTF16(str: string, outPtr: number): void;
|
||||
function UTF32ToString(ptr: number): string;
|
||||
function stringToUTF32(str: string, outPtr: number): void;
|
||||
|
||||
// USE_TYPED_ARRAYS == 1
|
||||
var HEAP: Int32Array;
|
||||
var IHEAP: Int32Array;
|
||||
var FHEAP: Float64Array;
|
||||
|
||||
// USE_TYPED_ARRAYS == 2
|
||||
var HEAP8: Int8Array;
|
||||
var HEAP16: Int16Array;
|
||||
var HEAP32: Int32Array;
|
||||
var HEAPU8: Uint8Array;
|
||||
var HEAPU16: Uint16Array;
|
||||
var HEAPU32: Uint32Array;
|
||||
var HEAPF32: Float32Array;
|
||||
var HEAPF64: Float64Array;
|
||||
|
||||
var TOTAL_STACK: number;
|
||||
var TOTAL_MEMORY: number;
|
||||
var FAST_MEMORY: number;
|
||||
|
||||
function addOnPreRun(cb: () => any): void;
|
||||
function addOnInit(cb: () => any): void;
|
||||
function addOnPreMain(cb: () => any): void;
|
||||
function addOnExit(cb: () => any): void;
|
||||
function addOnPostRun(cb: () => any): void;
|
||||
|
||||
// Tools
|
||||
function intArrayFromString(stringy: string, dontAddNull?: boolean, length?: number): number[];
|
||||
function intArrayToString(array: number[]): string;
|
||||
function writeStringToMemory(str: string, buffer: number, dontAddNull: boolean): void;
|
||||
function writeArrayToMemory(array: number[], buffer: number): void;
|
||||
function writeAsciiToMemory(str: string, buffer: number, dontAddNull: boolean): void;
|
||||
|
||||
function addRunDependency(id: any): void;
|
||||
function removeRunDependency(id: any): void;
|
||||
|
||||
|
||||
var preloadedImages: any;
|
||||
var preloadedAudios: any;
|
||||
|
||||
function _malloc(size: number): number;
|
||||
function _free(ptr: number): void;
|
||||
}
|
||||
|
||||
declare module FS {
|
||||
interface Lookup {
|
||||
path: string;
|
||||
node: FSNode;
|
||||
}
|
||||
|
||||
interface FSStream {}
|
||||
interface FSNode {}
|
||||
interface ErrnoError {}
|
||||
|
||||
var ignorePermissions: boolean;
|
||||
var trackingDelegate: any;
|
||||
var tracking: any;
|
||||
var genericErrors: any;
|
||||
|
||||
//
|
||||
// paths
|
||||
//
|
||||
function lookupPath(path: string, opts: any): Lookup;
|
||||
function getPath(node: FSNode): string;
|
||||
|
||||
//
|
||||
// nodes
|
||||
//
|
||||
function isFile(mode: number): boolean;
|
||||
function isDir(mode: number): boolean;
|
||||
function isLink(mode: number): boolean;
|
||||
function isChrdev(mode: number): boolean;
|
||||
function isBlkdev(mode: number): boolean;
|
||||
function isFIFO(mode: number): boolean;
|
||||
function isSocket(mode: number): boolean;
|
||||
|
||||
//
|
||||
// devices
|
||||
//
|
||||
function major(dev: number): number;
|
||||
function minor(dev: number): number;
|
||||
function makedev(ma: number, mi: number): number;
|
||||
function registerDevice(dev: number, ops: any): void;
|
||||
|
||||
//
|
||||
// core
|
||||
//
|
||||
function syncfs(populate: boolean, callback: (e: any) => any): void;
|
||||
function syncfs( callback: (e: any) => any, populate?: boolean): void;
|
||||
function mount(type: Emscripten.FileSystemType, opts: any, mountpoint: string): any;
|
||||
function unmount(mountpoint: string): void;
|
||||
|
||||
function mkdir(path: string, mode?: number): any;
|
||||
function mkdev(path: string, mode?: number, dev?: number): any;
|
||||
function symlink(oldpath: string, newpath: string): any;
|
||||
function rename(old_path: string, new_path: string): void;
|
||||
function rmdir(path: string): void;
|
||||
function readdir(path: string): any;
|
||||
function unlink(path: string): void;
|
||||
function readlink(path: string): string;
|
||||
function stat(path: string, dontFollow?: boolean): any;
|
||||
function lstat(path: string): any;
|
||||
function chmod(path: string, mode: number, dontFollow?: boolean): void;
|
||||
function lchmod(path: string, mode: number): void;
|
||||
function fchmod(fd: number, mode: number): void;
|
||||
function chown(path: string, uid: number, gid: number, dontFollow?: boolean): void;
|
||||
function lchown(path: string, uid: number, gid: number): void;
|
||||
function fchown(fd: number, uid: number, gid: number): void;
|
||||
function truncate(path: string, len: number): void;
|
||||
function ftruncate(fd: number, len: number): void;
|
||||
function utime(path: string, atime: number, mtime: number): void;
|
||||
function open(path: string, flags: string, mode?: number, fd_start?: number, fd_end?: number): FSStream;
|
||||
function close(stream: FSStream): void;
|
||||
function llseek(stream: FSStream, offset: number, whence: number): any;
|
||||
function read(stream: FSStream, buffer: ArrayBufferView, offset: number, length: number, position?: number): number;
|
||||
function write(stream: FSStream, buffer: ArrayBufferView, offset: number, length: number, position?: number, canOwn?: boolean): number;
|
||||
function allocate(stream: FSStream, offset: number, length: number): void;
|
||||
function mmap(stream: FSStream, buffer: ArrayBufferView, offset: number, length: number, position: number, prot: number, flags: number): any;
|
||||
function ioctl(stream: FSStream, cmd: any, arg: any): any;
|
||||
function readFile(path: string, opts?: {encoding: string; flags: string}): any;
|
||||
function writeFile(path: string, data: ArrayBufferView, opts?: {encoding: string; flags: string}): void;
|
||||
function writeFile(path: string, data: string, opts?: {encoding: string; flags: string}): void;
|
||||
|
||||
//
|
||||
// module-level FS code
|
||||
//
|
||||
function cwd(): string;
|
||||
function chdir(path: string): void;
|
||||
function init(input: () => number, output: (c: number) => any, error: (c: number) => any): void;
|
||||
|
||||
function createLazyFile(parent: string, name: string, url: string, canRead: boolean, canWrite: boolean): FSNode;
|
||||
function createLazyFile(parent: FSNode, name: string, url: string, canRead: boolean, canWrite: boolean): FSNode;
|
||||
|
||||
function createPreloadedFile(parent: string, name: string, url: string, canRead: boolean, canWrite: boolean, onload?: ()=> void, onerror?: ()=>void, dontCreateFile?:boolean, canOwn?: boolean): void;
|
||||
function createPreloadedFile(parent: FSNode, name: string, url: string, canRead: boolean, canWrite: boolean, onload?: ()=> void, onerror?: ()=>void, dontCreateFile?:boolean, canOwn?: boolean): void;
|
||||
}
|
||||
|
||||
declare var MEMFS: Emscripten.FileSystemType;
|
||||
declare var NODEFS: Emscripten.FileSystemType;
|
||||
declare var IDBFS: Emscripten.FileSystemType;
|
||||
|
||||
interface Math {
|
||||
imul(a: number, b: number): number;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/// <reference path="hapi.d.ts" />
|
||||
|
||||
import Hapi = require('hapi');
|
||||
|
||||
// Create a server with a host and port
|
||||
var server = Hapi.createServer('localhost', 8000);
|
||||
|
||||
// Add the route
|
||||
server.route({
|
||||
method: 'GET',
|
||||
path: '/hello',
|
||||
handler: function (request: Hapi.Request, reply: Function) {
|
||||
reply('hello world');
|
||||
}
|
||||
});
|
||||
|
||||
server.route([{
|
||||
method: 'GET',
|
||||
path: '/hello2',
|
||||
handler: function (request: Hapi.Request, reply: Function) {
|
||||
reply('hello world2');
|
||||
}
|
||||
}]);
|
||||
|
||||
// Start the server
|
||||
server.start();
|
||||
Vendored
+457
@@ -0,0 +1,457 @@
|
||||
// Type definitions for hapi
|
||||
// Project: http://github.com/spumko/hapi
|
||||
// Definitions by: Hakubo <http://github.com/hakubo>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../node/node.d.ts" />
|
||||
|
||||
declare module Hapi {
|
||||
export interface ServerOptions {
|
||||
app?: any;
|
||||
// cache?: string;
|
||||
// cache?: {
|
||||
// engine: any;
|
||||
// };
|
||||
cache?: any;
|
||||
// cors?: boolean;
|
||||
// cors?: {
|
||||
// origin?: Array<string>;
|
||||
// isOriginExposed?: boolean;
|
||||
// matchOrigin?: boolean;
|
||||
// maxAge?: number;
|
||||
// headers?: Array<string>;
|
||||
// additionalHeaders?: Array<string>;
|
||||
// methods?: Array<string>;
|
||||
// additionalMethods?: Array<string>;
|
||||
// exposedHeaders?: Array<string>;
|
||||
// additionalExposedHeaders?: Array<string>;
|
||||
// credentials?: boolean;
|
||||
// };
|
||||
cors?: any;
|
||||
// security?: boolean;
|
||||
// security?: {
|
||||
// hsts?: boolean;
|
||||
// hsts?: {
|
||||
// maxAge: number;
|
||||
// includeSubdomains: boolean;
|
||||
// };
|
||||
// xframe?: boolean;
|
||||
// xframe?: string;
|
||||
// xframe?: {
|
||||
// rule: string;
|
||||
// source: any;
|
||||
// };
|
||||
// xss?: boolean;
|
||||
// noOpen?: boolean;
|
||||
// noSniff?: boolean;
|
||||
// };
|
||||
security?: any;
|
||||
debug?: {
|
||||
request: Array<string>;
|
||||
};
|
||||
files?: {
|
||||
relativeTo: string;
|
||||
etagsCacheMaxSize: number;
|
||||
};
|
||||
json?: {
|
||||
// replacer?: () => void;
|
||||
// replacer?: Array<() => void>;
|
||||
replacer?: any;
|
||||
space?: number;
|
||||
};
|
||||
labels?: Array<string>;
|
||||
load?: {
|
||||
maxHeapUsedBytes?: number;
|
||||
maxRssBytes?: number;
|
||||
maxEventLoopDelay?: number;
|
||||
sampleInterval?: number;
|
||||
};
|
||||
location?: string;
|
||||
payload?: {
|
||||
maxBytes: number;
|
||||
uploads: string;
|
||||
};
|
||||
plugins?: any;
|
||||
router?: {
|
||||
isCaseSensitive?: boolean;
|
||||
stripTrailingSlash?: boolean;
|
||||
};
|
||||
state?: {
|
||||
cookies: {
|
||||
parse?: boolean;
|
||||
failAction?: string;
|
||||
clearInvalid?: boolean;
|
||||
strictHeader?: boolean;
|
||||
}
|
||||
};
|
||||
timeout?: {
|
||||
// server?: boolean;
|
||||
// server?: number;
|
||||
server?: any;
|
||||
// client?: boolean;
|
||||
// client?: number;
|
||||
client?: any;
|
||||
// socket?: boolean;
|
||||
// socket?: number;
|
||||
socket?: any;
|
||||
};
|
||||
tls?: any; //This should be Node.tls
|
||||
maxSockets?: number;
|
||||
validation?: any;
|
||||
views?: ServerView;
|
||||
}
|
||||
|
||||
export class Pack {
|
||||
require(name: string, options: {}, callback: Function): void;
|
||||
}
|
||||
|
||||
export interface ServerView {
|
||||
engines: {
|
||||
[extension: string]: string;
|
||||
module?: string;
|
||||
// compile: (
|
||||
// template: string,
|
||||
// options: any
|
||||
// ) => void;
|
||||
// compile: (
|
||||
// template: string,
|
||||
// options: any,
|
||||
// callback: (
|
||||
// err: any,
|
||||
// compiled: (
|
||||
// context: any,
|
||||
// options: any,
|
||||
// callback: (
|
||||
// err: any,
|
||||
// rendered: boolean
|
||||
// ) => void
|
||||
// ) => void
|
||||
// ) => void
|
||||
// ) => void;
|
||||
compile?: any;
|
||||
};
|
||||
defaultExtension?: string;
|
||||
path?: string;
|
||||
partialsPath?: string;
|
||||
helpersPath?: string;
|
||||
basePath?: string;
|
||||
layout?: boolean;
|
||||
layoutPath?: string;
|
||||
layoutKeyword?: string;
|
||||
encoding?: string;
|
||||
isCached?: boolean;
|
||||
allowAbsolutePaths?: boolean;
|
||||
allowInsecureAccess?: boolean;
|
||||
compileOptions?: any;
|
||||
runtimeOptions?: any;
|
||||
contentType?: string;
|
||||
compileMode?: string;
|
||||
}
|
||||
|
||||
export interface RouteOptions {
|
||||
path: string;
|
||||
method: string;
|
||||
// vhost?: string;
|
||||
// vhost?: Array<string>;
|
||||
vhost?: any;
|
||||
// handler: string;
|
||||
// handler: (request: Request, reply: Function) => void;
|
||||
// handler: {
|
||||
// file: string;
|
||||
// file: (request: Request) => void;
|
||||
// file: {
|
||||
// path: string;
|
||||
// filename?: string;
|
||||
// mode?: boolean;
|
||||
// mode?: string;
|
||||
// lookupCompressed: boolean;
|
||||
// };
|
||||
// directory: {
|
||||
// path: string;
|
||||
// path: Array<string>;
|
||||
// path: (request: Request) => string;
|
||||
// path: (request: Request) => Array<string>;
|
||||
// index?: boolean;
|
||||
// listing?: boolean;
|
||||
// showHidden?: boolean;
|
||||
// redirectToSlash?: boolean;
|
||||
// lookupCompressed?: boolean;
|
||||
// defaultExtension?: string;
|
||||
// };
|
||||
// proxy?: {
|
||||
// host?: string;
|
||||
// port?: number;
|
||||
// protocol?: string;
|
||||
// uri?: string;
|
||||
// passThrough?: boolean;
|
||||
// rejectUnauthorized?: boolean;
|
||||
// xforward?: boolean;
|
||||
// redirects?: boolean;
|
||||
// redirects?: number;
|
||||
// timeout?: number;
|
||||
//
|
||||
// mapUri?: (request: Request, callback: (err: any, uri: string, headers: {[key: string]: string}) => void) => void;
|
||||
// onResponse: (
|
||||
// err: any,
|
||||
// res: any,//Node Response
|
||||
// req: any,//Node Request
|
||||
// reply: () => void,
|
||||
// settings: any,
|
||||
// ttl: number
|
||||
// ) => void;
|
||||
// ttl: number;
|
||||
// };
|
||||
// view: string;
|
||||
// view: {
|
||||
// template: string;
|
||||
// context: {
|
||||
// payload: any;
|
||||
// params: any;
|
||||
// query: any;
|
||||
// pre: any;
|
||||
// }
|
||||
// };
|
||||
// config: {
|
||||
// handler: any;
|
||||
// bind: any;
|
||||
// app: any;
|
||||
// plugins: {
|
||||
// [name: string]: any;
|
||||
// };
|
||||
// pre: Array<() => void>;
|
||||
// validate: {
|
||||
// headers: any;
|
||||
// params: any;
|
||||
// query: any;
|
||||
// payload: any;
|
||||
// errorFields?: any;
|
||||
// failAction?: string;
|
||||
// failAction?: (source: string, error: any, next: () => void) => void;
|
||||
// };
|
||||
// payload: {
|
||||
// output: {
|
||||
// data: any;
|
||||
// stream: any;
|
||||
// file: any;
|
||||
// };
|
||||
// parse?: any;
|
||||
// allow?: string;
|
||||
// allow?: Array<string>;
|
||||
// override?: string;
|
||||
// maxBytes?: number;
|
||||
// uploads?: number;
|
||||
// failAction?: string;
|
||||
// };
|
||||
// response: {
|
||||
// schema: any;
|
||||
// sample: number;
|
||||
// failAction: string;
|
||||
// };
|
||||
// cache: {
|
||||
// privacy: string;
|
||||
// expiresIn: number;
|
||||
// expiresAt: number;
|
||||
// };
|
||||
// auth: string;
|
||||
// auth: boolean;
|
||||
// auth: {
|
||||
// mode: string;
|
||||
// strategies: Array<string>;
|
||||
// payload?: boolean;
|
||||
// payload?: string;
|
||||
// tos?: boolean;
|
||||
// tos?: string;
|
||||
// scope?: string;
|
||||
// scope?: Array<string>;
|
||||
// entity: string;
|
||||
// };
|
||||
// cors?: boolean;
|
||||
// jsonp?: string;
|
||||
// description?: string;
|
||||
// notes?: string;
|
||||
// notes?: Array<string>;
|
||||
// tags?: Array<string>;
|
||||
// }
|
||||
// };
|
||||
handler: any;
|
||||
}
|
||||
|
||||
export class Server {
|
||||
app: any;
|
||||
methods: Array<() => void>;
|
||||
info: {
|
||||
port: number;
|
||||
host?: string;
|
||||
protocol?: string;
|
||||
uri?: string;
|
||||
};
|
||||
listener: any;// Node Http server
|
||||
load: {
|
||||
eventLoopDelay: number;
|
||||
heapUsed: number;
|
||||
rss: number;
|
||||
};
|
||||
pack: Pack;
|
||||
plugins: {
|
||||
[pluginName: string]: any;
|
||||
};
|
||||
|
||||
start(callback?: () => void): void;
|
||||
stop(options?: {timeout: number;}, callback?: () => void): void;
|
||||
route(options: RouteOptions): void;
|
||||
route(routes: Array<RouteOptions>): void;
|
||||
table(host?: string): Array<RouteOptions>;
|
||||
log(tags: string, data?: string, timestamp?: number): void;
|
||||
log(tags: Array<string>, data?: string, timestamp?: number): void;
|
||||
log(tags: string, data?: any, timestamp?: number): void;
|
||||
log(tags: Array<string>, data?: any, timestamp?: number): void;
|
||||
state(name: string, options?: {
|
||||
ttl: number;
|
||||
isSecure: boolean;
|
||||
isHttpOnly: boolean;
|
||||
path: string;
|
||||
domain: string;
|
||||
autoValue: (request: Request, next: (err: any, value: any) => void) => void;
|
||||
encoding?: string;
|
||||
sign: any;
|
||||
password: string;
|
||||
iron: any;
|
||||
}): void;
|
||||
views(options: ServerView): void;
|
||||
cache(name: string, options: {
|
||||
expiresIn: number;
|
||||
expiresAt: number;
|
||||
staleIn: number;
|
||||
staleTimeout: number;
|
||||
cache: string;
|
||||
}): void;
|
||||
|
||||
auth: {
|
||||
scheme(name: string, scheme: {
|
||||
name: string;
|
||||
scheme: (server: Server, options: any) => (authenticate: any, payload: any, response: any) => void;
|
||||
}): void;
|
||||
strategy: any;
|
||||
};
|
||||
ext(event: any, method: string, options?: any): void;
|
||||
method(method: Array<{name: string; fn: () => void; options: any}>): void;
|
||||
method(name: string, fn: () => void, options: any): void;
|
||||
inject(options: any, callback: any): void;
|
||||
handler(name: string, method: (name: string, options: any) => void): void;
|
||||
}
|
||||
|
||||
export interface Request {
|
||||
app: any;
|
||||
auth: {
|
||||
isAuthenticated: boolean;
|
||||
credentials: Object;
|
||||
artifacts: Object;
|
||||
session: Object
|
||||
};
|
||||
domain: any;
|
||||
headers: Object;
|
||||
id: number;
|
||||
info: {
|
||||
received: number;
|
||||
remoteAddress: string;
|
||||
remotePort: number;
|
||||
referrer: string;
|
||||
host: string;
|
||||
};
|
||||
method: string;
|
||||
mime?: string;
|
||||
params: any;
|
||||
path: string;
|
||||
payload: any;
|
||||
plugins: Object;
|
||||
pre: Object;
|
||||
response: Object;
|
||||
responses: Object;
|
||||
query: Object;
|
||||
raw: {
|
||||
req: any; //http.ClientRequest
|
||||
res: any; //http.ClientResponse
|
||||
};
|
||||
route: string;
|
||||
server: Server;
|
||||
session: any;
|
||||
state: Object;
|
||||
url: Object;
|
||||
|
||||
setUrl? (url: string): void;
|
||||
setMethod? (method: string): void;
|
||||
log (tags: string, data?: string, timestamp?: number): void;
|
||||
log (tags: string, data?: Object, timestamp?: number): void;
|
||||
log (tags: string[], data?: string, timestamp?: number): void;
|
||||
log (tags: string[], data?: Object, timestamp?: number): void;
|
||||
getLog(): string[];
|
||||
getLog(tag: string): string[];
|
||||
getLog(tags: string[]): string[];
|
||||
tail(name?: string): Function;
|
||||
}
|
||||
|
||||
export interface Response {
|
||||
statusCode: number;
|
||||
headers: Object;
|
||||
source: any;
|
||||
variety: string;
|
||||
app: any;
|
||||
plugins: Object;
|
||||
settings: {
|
||||
encoding: string;
|
||||
charset: string;
|
||||
location: string;
|
||||
ttl: number;
|
||||
stringify: any;
|
||||
passThrough: boolean;
|
||||
}
|
||||
|
||||
code (statusCode: number): void;
|
||||
header (name: string, value: string, options?: {
|
||||
append: boolean;
|
||||
separator: string;
|
||||
override: boolean;
|
||||
}): void;
|
||||
type (mimeType: string): void;
|
||||
bytes (length: number): void;
|
||||
vary (header: string): void;
|
||||
location (location: string): void;
|
||||
created (location: string): void;
|
||||
redirect (location: string): void;
|
||||
encoding (encoding: string): void;
|
||||
charset (charset: string): void;
|
||||
ttl (ttl: number): void;
|
||||
state (name: string, value: string, options?: any): void;
|
||||
unstate (name: string): void;
|
||||
|
||||
replacer (method: Function): void;
|
||||
replacer (method: Array<Function>): void;
|
||||
spaces (count: number): void;
|
||||
|
||||
temporary (isTemporary: boolean): void;
|
||||
permanent (isPermanent: boolean): void;
|
||||
rewritable (isRewritable: boolean): void;
|
||||
}
|
||||
|
||||
export module reply {
|
||||
function file(path: string, options: {
|
||||
filePath: string;
|
||||
options: {
|
||||
filename: string;
|
||||
mode: string
|
||||
}
|
||||
}): void;
|
||||
|
||||
function view(template: string, context?: Object, options?: Object): Response;
|
||||
function close(options?: Object): void;
|
||||
function proxy(options: Object): void;
|
||||
|
||||
export function reply(result: any): any;
|
||||
}
|
||||
|
||||
export function createServer (host: string, port: number, options?: ServerOptions): Server;
|
||||
}
|
||||
|
||||
declare module "hapi" {
|
||||
export = Hapi;
|
||||
}
|
||||
Vendored
+45
-15
@@ -1,13 +1,13 @@
|
||||
// Type definitions for History.js
|
||||
// Project: https://github.com/balupton/History.js
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
|
||||
// Type definitions for History.js 1.8.0
|
||||
// Project: https://github.com/browserstate/history.js
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>, Gidon Junge <https://github.com/gjunge/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
|
||||
interface HistoryAdapter {
|
||||
bind(element, event, callback);
|
||||
trigger(element, event);
|
||||
onDomLoad(callback);
|
||||
bind(element: any, event: string, callback: () => void);
|
||||
trigger(element: any, event: string);
|
||||
onDomLoad(callback: () => void);
|
||||
}
|
||||
|
||||
// Since History is defined in lib.d.ts as well
|
||||
@@ -17,15 +17,45 @@ interface HistoryAdapter {
|
||||
// var Historyjs: Historyjs = <any>History;
|
||||
|
||||
interface Historyjs {
|
||||
|
||||
enabled: boolean;
|
||||
pushState(data, title, url);
|
||||
replaceState(data, title, url);
|
||||
getState();
|
||||
getHash();
|
||||
|
||||
pushState(data: any, title: string, url: string);
|
||||
replaceState(data: any, title: string, url: string);
|
||||
getState(): HistoryState;
|
||||
getStateByIndex(index: number): HistoryState;
|
||||
getCurrentIndex(): number;
|
||||
getHash(): string;
|
||||
|
||||
Adapter: HistoryAdapter;
|
||||
back();
|
||||
forward();
|
||||
go(X);
|
||||
log(...messages: any[]);
|
||||
debug(...messages: any[]);
|
||||
|
||||
back(): void;
|
||||
forward(): void;
|
||||
go(x: Number): void;
|
||||
|
||||
log(...messages: any[]): void;
|
||||
debug(...messages: any[]): void;
|
||||
|
||||
options: HistoryOptions;
|
||||
}
|
||||
|
||||
interface HistoryState {
|
||||
data?: any;
|
||||
title?: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
interface HistoryOptions {
|
||||
hashChangeInterval?: number;
|
||||
safariPollInterval?: number;
|
||||
doubleCheckInterval?: number;
|
||||
disableSuid?: boolean;
|
||||
storeInterval?: number;
|
||||
busyDelay?: number;
|
||||
debug?: boolean;
|
||||
initialTitle?: string;
|
||||
html4Mode?: boolean;
|
||||
delayInit?: number;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,35 +1,35 @@
|
||||
/// <reference path="jquery.pjax.d.ts" />
|
||||
/// <reference path="../jquery/jquery.d.ts" />
|
||||
|
||||
function test_pjax() {
|
||||
$.pjax();
|
||||
}
|
||||
|
||||
function test_pjax_selector() {
|
||||
$('a').pjax();
|
||||
}
|
||||
|
||||
function test_pjax_option() {
|
||||
$.pjax({
|
||||
area: 'body',
|
||||
load: {
|
||||
head: 'base, meta, link',
|
||||
css: true,
|
||||
script: true
|
||||
},
|
||||
cache: { click: true, submit: false, popstate: true },
|
||||
server: { query: null }
|
||||
});
|
||||
}
|
||||
|
||||
function test_pjax_event() {
|
||||
$.pjax({
|
||||
wait: 1000
|
||||
});
|
||||
$(document).bind('pjax.request', function () {
|
||||
$('div.loading').fadeIn(100);
|
||||
});
|
||||
$(document).bind('pjax.render', function () {
|
||||
$('div.loading').fadeOut(500);
|
||||
});
|
||||
}
|
||||
/// <reference path="jquery.pjax.d.ts" />
|
||||
/// <reference path="../jquery/jquery.d.ts" />
|
||||
|
||||
function test_pjax() {
|
||||
$.pjax();
|
||||
}
|
||||
|
||||
function test_pjax_selector() {
|
||||
$('a').pjax();
|
||||
}
|
||||
|
||||
function test_pjax_option() {
|
||||
$.pjax({
|
||||
area: 'body',
|
||||
load: {
|
||||
head: 'base, meta, link',
|
||||
css: true,
|
||||
script: true
|
||||
},
|
||||
cache: { click: true, submit: false, popstate: true },
|
||||
server: { query: null }
|
||||
});
|
||||
}
|
||||
|
||||
function test_pjax_event() {
|
||||
$.pjax({
|
||||
wait: 1000
|
||||
});
|
||||
$(document).bind('pjax.request', function () {
|
||||
$('div.loading').fadeIn(100);
|
||||
});
|
||||
$(document).bind('pjax.render', function () {
|
||||
$('div.loading').fadeOut(500);
|
||||
});
|
||||
}
|
||||
|
||||
+188
-188
@@ -1,189 +1,189 @@
|
||||
// Type definitions for jquery.pjax.ts by falsandtru
|
||||
// Project: https://github.com/falsandtru/jquery.pjax.js/
|
||||
// Definitions by: 新ゝ月 NewNotMoon <http://new.not-moon.net/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts" />
|
||||
|
||||
interface PjaxSetting {
|
||||
gns?: string;
|
||||
ns?: string;
|
||||
area?: any; // string, array, function( event, param, origUrl, destUrl )
|
||||
link?: string;
|
||||
filter?: any; // string, function()
|
||||
form?: string;
|
||||
scope?: Object;
|
||||
state?: any; // any, function(event, param, origUrl, destUrl )
|
||||
scrollTop?: any; // number, function( event, param, origUrl, destUrl ), null, false
|
||||
scrollLeft?: any; // number, function( event, param, origUrl, destUrl ), null, false
|
||||
scroll?: {
|
||||
delay?: number;
|
||||
record?: boolean //internal
|
||||
queue?: number[] //internal
|
||||
};
|
||||
ajax?: JQueryAjaxSettings;
|
||||
contentType?: string;
|
||||
load?: {
|
||||
head?: string;
|
||||
css?: boolean;
|
||||
script?: boolean;
|
||||
execute?: boolean;
|
||||
reload?: string;
|
||||
ignore?: string;
|
||||
sync?: boolean;
|
||||
ajax?: JQueryAjaxSettings;
|
||||
rewrite?: (element: any) => any;
|
||||
redirect?: boolean;
|
||||
};
|
||||
interval?: number;
|
||||
cache?: {
|
||||
click?: boolean;
|
||||
submit?: boolean;
|
||||
popstate?: boolean;
|
||||
get?: boolean;
|
||||
post?: boolean;
|
||||
page?: boolean;
|
||||
size?: number;
|
||||
mix?: number;
|
||||
expires?: {
|
||||
min?: number;
|
||||
max?: number;
|
||||
};
|
||||
};
|
||||
wait?: any; // number, function( event, param, origUrl, destUrl ): number
|
||||
fallback?: any; // boolean, function( event, param, origUrl, destUrl ): boolean
|
||||
fix?: {
|
||||
location?: boolean;
|
||||
history?: boolean;
|
||||
scroll?: boolean;
|
||||
reset?: boolean;
|
||||
};
|
||||
database?: boolean;
|
||||
server?: {
|
||||
query?: any; // string, object
|
||||
header?: {
|
||||
area?: boolean;
|
||||
head?: boolean;
|
||||
css?: boolean;
|
||||
script?: boolean;
|
||||
};
|
||||
};
|
||||
callback?: (event: JQueryEventObject, param: any) => any;
|
||||
callbacks?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
ajax?: {
|
||||
xhr?: (event: JQueryEventObject, param: any) => any;
|
||||
beforeSend?: (event: JQueryEventObject, param: any, data: any, ajaxSettings: any) => any;
|
||||
dataFilter?: (event: JQueryEventObject, param: any, data: any, dataType: any) => any;
|
||||
success?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
error?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string, errorThrown: any) => any;
|
||||
complete?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string) => any;
|
||||
done?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
fail?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string, errorThrown: any) => any;
|
||||
always?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string) => any;
|
||||
};
|
||||
update?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
cache?: {
|
||||
before?: (event: JQueryEventObject, param: any, cache: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any, cache: any) => any;
|
||||
};
|
||||
redirect?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
url?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
title?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
head?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
content?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
scroll?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
};
|
||||
css?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
script?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
render?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
};
|
||||
verify?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
};
|
||||
success?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
error?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
complete?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
param?: any;
|
||||
|
||||
// internal
|
||||
uuid?: string;
|
||||
nss?: {
|
||||
name?: string;
|
||||
event?: string[];
|
||||
click?: string;
|
||||
submit?: string;
|
||||
popstate?: string;
|
||||
scroll?: string;
|
||||
data?: string;
|
||||
class4html?: string;
|
||||
requestHeader?: string;
|
||||
};
|
||||
origLocation?: HTMLAnchorElement;
|
||||
destLocation?: HTMLAnchorElement;
|
||||
retry?: boolean;
|
||||
speedcheck?: boolean;
|
||||
disable?: boolean;
|
||||
option?: any;
|
||||
};
|
||||
}
|
||||
|
||||
interface JQueryStatic {
|
||||
pjax: {
|
||||
(setting?: PjaxSetting): any;
|
||||
enable(): any;
|
||||
disable(): any;
|
||||
click(url: string, attr: { href?: string; }): any;
|
||||
click(url: HTMLAnchorElement, attr: { href?: string; }): any;
|
||||
click(url: JQuery, attr: { href?: string; }): any;
|
||||
click(url: any, attr: { href?: string; }): any;
|
||||
submit(url: string, attr: { action?: string; method?: string; }, data: any): any;
|
||||
submit(url: HTMLFormElement, attr?: { action?: string; method?: string; }, data?: any): any;
|
||||
submit(url: JQuery, attr?: { action?: string; method?: string; }, data?: any): any;
|
||||
submit(url: any, attr?: { action?: string; method?: string; }, data?: any): any;
|
||||
follow(event: JQueryEventObject, ajax: JQueryXHR, timeStamp?: number): boolean;
|
||||
setCache(): any;
|
||||
setCache(url: string): any;
|
||||
setCache(url: string, data: string): any;
|
||||
setCache(url: string, data: string, textStatus: string, XMLHttpRequest: XMLHttpRequest): any;
|
||||
getCache(): any;
|
||||
getCache(url: string): any;
|
||||
removeCache(url: string): any;
|
||||
removeCache(): any;
|
||||
clearCache(): any;
|
||||
};
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
pjax(setting?: PjaxSetting): any;
|
||||
// Type definitions for jquery.pjax.ts by falsandtru
|
||||
// Project: https://github.com/falsandtru/jquery.pjax.js/
|
||||
// Definitions by: 新ゝ月 NewNotMoon <http://new.not-moon.net/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts" />
|
||||
|
||||
interface PjaxSetting {
|
||||
gns?: string;
|
||||
ns?: string;
|
||||
area?: any; // string, array, function( event, param, origUrl, destUrl )
|
||||
link?: string;
|
||||
filter?: any; // string, function()
|
||||
form?: string;
|
||||
scope?: Object;
|
||||
state?: any; // any, function(event, param, origUrl, destUrl )
|
||||
scrollTop?: any; // number, function( event, param, origUrl, destUrl ), null, false
|
||||
scrollLeft?: any; // number, function( event, param, origUrl, destUrl ), null, false
|
||||
scroll?: {
|
||||
delay?: number;
|
||||
record?: boolean //internal
|
||||
queue?: number[] //internal
|
||||
};
|
||||
ajax?: JQueryAjaxSettings;
|
||||
contentType?: string;
|
||||
load?: {
|
||||
head?: string;
|
||||
css?: boolean;
|
||||
script?: boolean;
|
||||
execute?: boolean;
|
||||
reload?: string;
|
||||
ignore?: string;
|
||||
sync?: boolean;
|
||||
ajax?: JQueryAjaxSettings;
|
||||
rewrite?: (element: any) => any;
|
||||
redirect?: boolean;
|
||||
};
|
||||
interval?: number;
|
||||
cache?: {
|
||||
click?: boolean;
|
||||
submit?: boolean;
|
||||
popstate?: boolean;
|
||||
get?: boolean;
|
||||
post?: boolean;
|
||||
page?: boolean;
|
||||
size?: number;
|
||||
mix?: number;
|
||||
expires?: {
|
||||
min?: number;
|
||||
max?: number;
|
||||
};
|
||||
};
|
||||
wait?: any; // number, function( event, param, origUrl, destUrl ): number
|
||||
fallback?: any; // boolean, function( event, param, origUrl, destUrl ): boolean
|
||||
fix?: {
|
||||
location?: boolean;
|
||||
history?: boolean;
|
||||
scroll?: boolean;
|
||||
reset?: boolean;
|
||||
};
|
||||
database?: boolean;
|
||||
server?: {
|
||||
query?: any; // string, object
|
||||
header?: {
|
||||
area?: boolean;
|
||||
head?: boolean;
|
||||
css?: boolean;
|
||||
script?: boolean;
|
||||
};
|
||||
};
|
||||
callback?: (event: JQueryEventObject, param: any) => any;
|
||||
callbacks?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
ajax?: {
|
||||
xhr?: (event: JQueryEventObject, param: any) => any;
|
||||
beforeSend?: (event: JQueryEventObject, param: any, data: any, ajaxSettings: any) => any;
|
||||
dataFilter?: (event: JQueryEventObject, param: any, data: any, dataType: any) => any;
|
||||
success?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
error?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string, errorThrown: any) => any;
|
||||
complete?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string) => any;
|
||||
done?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
fail?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string, errorThrown: any) => any;
|
||||
always?: (event: JQueryEventObject, param: any, XMLHttpRequest: XMLHttpRequest, textStatus: string) => any;
|
||||
};
|
||||
update?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
cache?: {
|
||||
before?: (event: JQueryEventObject, param: any, cache: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any, cache: any) => any;
|
||||
};
|
||||
redirect?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
url?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
title?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
head?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
content?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
scroll?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
};
|
||||
css?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
script?: {
|
||||
before?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
after?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
render?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
};
|
||||
verify?: {
|
||||
before?: (event: JQueryEventObject, param: any) => any;
|
||||
after?: (event: JQueryEventObject, param: any) => any;
|
||||
};
|
||||
success?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
error?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
complete?: (event: JQueryEventObject, param: any, data: any, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any;
|
||||
};
|
||||
param?: any;
|
||||
|
||||
// internal
|
||||
uuid?: string;
|
||||
nss?: {
|
||||
name?: string;
|
||||
event?: string[];
|
||||
click?: string;
|
||||
submit?: string;
|
||||
popstate?: string;
|
||||
scroll?: string;
|
||||
data?: string;
|
||||
class4html?: string;
|
||||
requestHeader?: string;
|
||||
};
|
||||
origLocation?: HTMLAnchorElement;
|
||||
destLocation?: HTMLAnchorElement;
|
||||
retry?: boolean;
|
||||
speedcheck?: boolean;
|
||||
disable?: boolean;
|
||||
option?: any;
|
||||
};
|
||||
}
|
||||
|
||||
interface JQueryStatic {
|
||||
pjax: {
|
||||
(setting?: PjaxSetting): any;
|
||||
enable(): any;
|
||||
disable(): any;
|
||||
click(url: string, attr: { href?: string; }): any;
|
||||
click(url: HTMLAnchorElement, attr: { href?: string; }): any;
|
||||
click(url: JQuery, attr: { href?: string; }): any;
|
||||
click(url: any, attr: { href?: string; }): any;
|
||||
submit(url: string, attr: { action?: string; method?: string; }, data: any): any;
|
||||
submit(url: HTMLFormElement, attr?: { action?: string; method?: string; }, data?: any): any;
|
||||
submit(url: JQuery, attr?: { action?: string; method?: string; }, data?: any): any;
|
||||
submit(url: any, attr?: { action?: string; method?: string; }, data?: any): any;
|
||||
follow(event: JQueryEventObject, ajax: JQueryXHR, timeStamp?: number): boolean;
|
||||
setCache(): any;
|
||||
setCache(url: string): any;
|
||||
setCache(url: string, data: string): any;
|
||||
setCache(url: string, data: string, textStatus: string, XMLHttpRequest: XMLHttpRequest): any;
|
||||
getCache(): any;
|
||||
getCache(url: string): any;
|
||||
removeCache(url: string): any;
|
||||
removeCache(): any;
|
||||
clearCache(): any;
|
||||
};
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
pjax(setting?: PjaxSetting): any;
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
/// <reference path="js-url.d.ts" />
|
||||
|
||||
url();
|
||||
|
||||
url('domain');
|
||||
url(1);
|
||||
|
||||
url('domain', 'test.www.example.com/path/here');
|
||||
url(-1, 'test.www.example.com/path/here');
|
||||
/// <reference path="js-url.d.ts" />
|
||||
|
||||
url();
|
||||
|
||||
url('domain');
|
||||
url(1);
|
||||
|
||||
url('domain', 'test.www.example.com/path/here');
|
||||
url(-1, 'test.www.example.com/path/here');
|
||||
|
||||
@@ -1,47 +1,47 @@
|
||||
import Q = require('q');
|
||||
import promisePool = require('promise-pool');
|
||||
|
||||
var pool = new promisePool.Pool<number>((taskDataId, index) => {
|
||||
return Q.delay(Math.floor(Math.random() * 5000)).then(function () {
|
||||
taskDataId == 0;
|
||||
index == 0;
|
||||
});
|
||||
}, 20);
|
||||
|
||||
pool
|
||||
.pause()
|
||||
.delay(5000)
|
||||
.then(function () {
|
||||
pool.resume();
|
||||
});
|
||||
|
||||
pool.retries == 0;
|
||||
pool.retryInterval == 0;
|
||||
pool.maxRetryInterval == 0;
|
||||
pool.retryIntervalMultiplier == 0;
|
||||
|
||||
pool.add(0);
|
||||
|
||||
pool
|
||||
.start(onProgress)
|
||||
.then(result => {
|
||||
result.total == 0;
|
||||
return pool.reset();
|
||||
})
|
||||
.then(() => {
|
||||
return pool.start(onProgress);
|
||||
})
|
||||
.then(result => {
|
||||
result.total == 0;
|
||||
return pool.reset();
|
||||
})
|
||||
.then(() => {
|
||||
pool.endless == true;
|
||||
});
|
||||
|
||||
function onProgress(progress: promisePool.IProgress) {
|
||||
progress.success == true;
|
||||
progress.fulfilled == 0;
|
||||
progress.total == 0;
|
||||
progress.index == 0;
|
||||
import Q = require('q');
|
||||
import promisePool = require('promise-pool');
|
||||
|
||||
var pool = new promisePool.Pool<number>((taskDataId, index) => {
|
||||
return Q.delay(Math.floor(Math.random() * 5000)).then(function () {
|
||||
taskDataId == 0;
|
||||
index == 0;
|
||||
});
|
||||
}, 20);
|
||||
|
||||
pool
|
||||
.pause()
|
||||
.delay(5000)
|
||||
.then(function () {
|
||||
pool.resume();
|
||||
});
|
||||
|
||||
pool.retries == 0;
|
||||
pool.retryInterval == 0;
|
||||
pool.maxRetryInterval == 0;
|
||||
pool.retryIntervalMultiplier == 0;
|
||||
|
||||
pool.add(0);
|
||||
|
||||
pool
|
||||
.start(onProgress)
|
||||
.then(result => {
|
||||
result.total == 0;
|
||||
return pool.reset();
|
||||
})
|
||||
.then(() => {
|
||||
return pool.start(onProgress);
|
||||
})
|
||||
.then(result => {
|
||||
result.total == 0;
|
||||
return pool.reset();
|
||||
})
|
||||
.then(() => {
|
||||
pool.endless == true;
|
||||
});
|
||||
|
||||
function onProgress(progress: promisePool.IProgress) {
|
||||
progress.success == true;
|
||||
progress.fulfilled == 0;
|
||||
progress.total == 0;
|
||||
progress.index == 0;
|
||||
}
|
||||
Vendored
+123
-123
@@ -1,124 +1,124 @@
|
||||
// Type definitions for promise-pool
|
||||
// Project: https://github.com/vilic/promise-pool
|
||||
// Definitions by: VILIC VANE <https://github.com/vilic>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../q-retry/q-retry.d.ts" />
|
||||
|
||||
declare module "promise-pool" {
|
||||
/**
|
||||
* interface for the final result.
|
||||
*/
|
||||
export interface IResult {
|
||||
fulfilled: number;
|
||||
rejected: number;
|
||||
total: number;
|
||||
}
|
||||
/**
|
||||
* interface for progress data.
|
||||
*/
|
||||
export interface IProgress {
|
||||
index: number;
|
||||
success: boolean;
|
||||
error: any;
|
||||
retries: number;
|
||||
fulfilled: number;
|
||||
rejected: number;
|
||||
pending: number;
|
||||
total: number;
|
||||
}
|
||||
/**
|
||||
* tasks pool that manages concurrency.
|
||||
*/
|
||||
export class Pool<T> {
|
||||
/**
|
||||
* (get/set) the max concurrency of this task pool.
|
||||
*/
|
||||
public concurrency: number;
|
||||
private _tasksData;
|
||||
/**
|
||||
* (get/set) the processor function that handles tasks data.
|
||||
*/
|
||||
public processor: (data: T, index: number) => Q.IPromise<void>;
|
||||
private _deferred;
|
||||
private _pauseDeferred;
|
||||
/**
|
||||
* (get) the number of successful tasks.
|
||||
*/
|
||||
public fulfilled: number;
|
||||
/**
|
||||
* (get) the number of failed tasks.
|
||||
*/
|
||||
public rejected: number;
|
||||
/**
|
||||
* (get) the number of pending tasks.
|
||||
*/
|
||||
public pending: number;
|
||||
/**
|
||||
* (get) the number of completed tasks and pending tasks in total.
|
||||
*/
|
||||
public total: number;
|
||||
/**
|
||||
* (get/set) indicates whether this task pool is endless, if so, tasks can still be added even after all previous tasks have been fulfilled.
|
||||
*/
|
||||
public endless: boolean;
|
||||
/**
|
||||
* (get/set) defaults to 0, the number or retries that this task pool will take for every single task, could be Infinity.
|
||||
*/
|
||||
public retries: number;
|
||||
/**
|
||||
* (get/set) defaults to 0, interval (milliseconds) between each retries.
|
||||
*/
|
||||
public retryInterval: number;
|
||||
/**
|
||||
* (get/set) defaults to Infinity, max retry interval when retry interval multiplier applied.
|
||||
*/
|
||||
public maxRetryInterval: number;
|
||||
/**
|
||||
* (get/set) defaults to 1, the multiplier applies to interval after every retry.
|
||||
*/
|
||||
public retryIntervalMultiplier: number;
|
||||
private _index;
|
||||
private _currentConcurrency;
|
||||
public onProgress: (progress: IProgress) => void;
|
||||
/**
|
||||
* initialize a task pool.
|
||||
* @param processor a function takes the data and index as parameters and returns a promise.
|
||||
* @param concurrency the concurrency of this task pool.
|
||||
* @param endless defaults to false. indicates whether this task pool is endless, if so, tasks can still be added even after all previous tasks have been fulfilled.
|
||||
* @param tasksData an initializing array of task data.
|
||||
*/
|
||||
constructor(processor: (data: T, index: number) => Q.IPromise<void>, concurrency: number, endless?: boolean, tasksData?: T[]);
|
||||
/**
|
||||
* add a data item.
|
||||
* @param taskData task data to add.
|
||||
*/
|
||||
public add(taskData: T): void;
|
||||
/**
|
||||
* add data items.
|
||||
* @param tasskData tasks data to add.
|
||||
*/
|
||||
public add(tasksData: T[]): void;
|
||||
/**
|
||||
* start tasks, return a promise that will be fulfilled after all tasks accomplish if endless is false.
|
||||
* @param onProgress a callback that will be triggered every time when a single task is fulfilled.
|
||||
*/
|
||||
public start(onProgress?: (progress: IProgress) => void): Q.Promise<IResult>;
|
||||
private _start();
|
||||
private _process(data, index);
|
||||
private _notifyProgress(index, success, err, retries);
|
||||
private _next();
|
||||
/**
|
||||
* pause tasks and return a promise that will be fulfilled after the running tasks accomplish. this will wait for running tasks to complete instead of aborting them.
|
||||
*/
|
||||
public pause(): Q.Promise<void>;
|
||||
/**
|
||||
* resume tasks.
|
||||
*/
|
||||
public resume(): void;
|
||||
/**
|
||||
* pause tasks, then clear pending tasks data and reset counters. return a promise that will be fulfilled after resetting accomplish.
|
||||
*/
|
||||
public reset(): Q.Promise<void>;
|
||||
}
|
||||
// Type definitions for promise-pool
|
||||
// Project: https://github.com/vilic/promise-pool
|
||||
// Definitions by: VILIC VANE <https://github.com/vilic>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../q-retry/q-retry.d.ts" />
|
||||
|
||||
declare module "promise-pool" {
|
||||
/**
|
||||
* interface for the final result.
|
||||
*/
|
||||
export interface IResult {
|
||||
fulfilled: number;
|
||||
rejected: number;
|
||||
total: number;
|
||||
}
|
||||
/**
|
||||
* interface for progress data.
|
||||
*/
|
||||
export interface IProgress {
|
||||
index: number;
|
||||
success: boolean;
|
||||
error: any;
|
||||
retries: number;
|
||||
fulfilled: number;
|
||||
rejected: number;
|
||||
pending: number;
|
||||
total: number;
|
||||
}
|
||||
/**
|
||||
* tasks pool that manages concurrency.
|
||||
*/
|
||||
export class Pool<T> {
|
||||
/**
|
||||
* (get/set) the max concurrency of this task pool.
|
||||
*/
|
||||
public concurrency: number;
|
||||
private _tasksData;
|
||||
/**
|
||||
* (get/set) the processor function that handles tasks data.
|
||||
*/
|
||||
public processor: (data: T, index: number) => Q.IPromise<void>;
|
||||
private _deferred;
|
||||
private _pauseDeferred;
|
||||
/**
|
||||
* (get) the number of successful tasks.
|
||||
*/
|
||||
public fulfilled: number;
|
||||
/**
|
||||
* (get) the number of failed tasks.
|
||||
*/
|
||||
public rejected: number;
|
||||
/**
|
||||
* (get) the number of pending tasks.
|
||||
*/
|
||||
public pending: number;
|
||||
/**
|
||||
* (get) the number of completed tasks and pending tasks in total.
|
||||
*/
|
||||
public total: number;
|
||||
/**
|
||||
* (get/set) indicates whether this task pool is endless, if so, tasks can still be added even after all previous tasks have been fulfilled.
|
||||
*/
|
||||
public endless: boolean;
|
||||
/**
|
||||
* (get/set) defaults to 0, the number or retries that this task pool will take for every single task, could be Infinity.
|
||||
*/
|
||||
public retries: number;
|
||||
/**
|
||||
* (get/set) defaults to 0, interval (milliseconds) between each retries.
|
||||
*/
|
||||
public retryInterval: number;
|
||||
/**
|
||||
* (get/set) defaults to Infinity, max retry interval when retry interval multiplier applied.
|
||||
*/
|
||||
public maxRetryInterval: number;
|
||||
/**
|
||||
* (get/set) defaults to 1, the multiplier applies to interval after every retry.
|
||||
*/
|
||||
public retryIntervalMultiplier: number;
|
||||
private _index;
|
||||
private _currentConcurrency;
|
||||
public onProgress: (progress: IProgress) => void;
|
||||
/**
|
||||
* initialize a task pool.
|
||||
* @param processor a function takes the data and index as parameters and returns a promise.
|
||||
* @param concurrency the concurrency of this task pool.
|
||||
* @param endless defaults to false. indicates whether this task pool is endless, if so, tasks can still be added even after all previous tasks have been fulfilled.
|
||||
* @param tasksData an initializing array of task data.
|
||||
*/
|
||||
constructor(processor: (data: T, index: number) => Q.IPromise<void>, concurrency: number, endless?: boolean, tasksData?: T[]);
|
||||
/**
|
||||
* add a data item.
|
||||
* @param taskData task data to add.
|
||||
*/
|
||||
public add(taskData: T): void;
|
||||
/**
|
||||
* add data items.
|
||||
* @param tasskData tasks data to add.
|
||||
*/
|
||||
public add(tasksData: T[]): void;
|
||||
/**
|
||||
* start tasks, return a promise that will be fulfilled after all tasks accomplish if endless is false.
|
||||
* @param onProgress a callback that will be triggered every time when a single task is fulfilled.
|
||||
*/
|
||||
public start(onProgress?: (progress: IProgress) => void): Q.Promise<IResult>;
|
||||
private _start();
|
||||
private _process(data, index);
|
||||
private _notifyProgress(index, success, err, retries);
|
||||
private _next();
|
||||
/**
|
||||
* pause tasks and return a promise that will be fulfilled after the running tasks accomplish. this will wait for running tasks to complete instead of aborting them.
|
||||
*/
|
||||
public pause(): Q.Promise<void>;
|
||||
/**
|
||||
* resume tasks.
|
||||
*/
|
||||
public resume(): void;
|
||||
/**
|
||||
* pause tasks, then clear pending tasks data and reset counters. return a promise that will be fulfilled after resetting accomplish.
|
||||
*/
|
||||
public reset(): Q.Promise<void>;
|
||||
}
|
||||
}
|
||||
+38
-38
@@ -1,39 +1,39 @@
|
||||
import Q = require('q-retry');
|
||||
|
||||
Q
|
||||
.retry(() => {
|
||||
return '';
|
||||
})
|
||||
.then(str => {
|
||||
str.charAt;
|
||||
return 0;
|
||||
})
|
||||
.retry(num => {
|
||||
num.toFixed;
|
||||
})
|
||||
.retry(() => {
|
||||
|
||||
}, 5)
|
||||
.retry(() => {
|
||||
|
||||
}, (reason, retries) => {
|
||||
retries.toFixed;
|
||||
})
|
||||
.retry(() => {
|
||||
|
||||
}, (reason, retries) => {
|
||||
retries.toFixed;
|
||||
}, 10)
|
||||
.retry(() => {
|
||||
return '';
|
||||
}, (reason, retries) => {
|
||||
|
||||
}, {
|
||||
limit: 10,
|
||||
interval: 1000,
|
||||
maxInterval: 20000,
|
||||
intervalMultiplier: 1.5
|
||||
})
|
||||
.then(str => {
|
||||
str.charAt;
|
||||
import Q = require('q-retry');
|
||||
|
||||
Q
|
||||
.retry(() => {
|
||||
return '';
|
||||
})
|
||||
.then(str => {
|
||||
str.charAt;
|
||||
return 0;
|
||||
})
|
||||
.retry(num => {
|
||||
num.toFixed;
|
||||
})
|
||||
.retry(() => {
|
||||
|
||||
}, 5)
|
||||
.retry(() => {
|
||||
|
||||
}, (reason, retries) => {
|
||||
retries.toFixed;
|
||||
})
|
||||
.retry(() => {
|
||||
|
||||
}, (reason, retries) => {
|
||||
retries.toFixed;
|
||||
}, 10)
|
||||
.retry(() => {
|
||||
return '';
|
||||
}, (reason, retries) => {
|
||||
|
||||
}, {
|
||||
limit: 10,
|
||||
interval: 1000,
|
||||
maxInterval: 20000,
|
||||
intervalMultiplier: 1.5
|
||||
})
|
||||
.then(str => {
|
||||
str.charAt;
|
||||
});
|
||||
Vendored
+38
-38
@@ -1,39 +1,39 @@
|
||||
// Type definitions for q-retry
|
||||
// Project: https://github.com/vilic/q-retry
|
||||
// Definitions by: VILIC VANE <https://github.com/vilic>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../q/Q.d.ts" />
|
||||
|
||||
declare module Q {
|
||||
export interface IRetryOptions {
|
||||
limit?: number;
|
||||
interval?: number;
|
||||
maxInterval?: number;
|
||||
intervalMultiplier?: number;
|
||||
}
|
||||
|
||||
export function retry<U>(process: () => IPromise<U>, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => IPromise<U>, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
export function retry<U>(process: () => IPromise<U>, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => IPromise<U>, options?: IRetryOptions): Promise<U>;
|
||||
export function retry<U>(process: () => U, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => U, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
export function retry<U>(process: () => U, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => U, options?: IRetryOptions): Promise<U>;
|
||||
|
||||
interface Promise<T> {
|
||||
retry<U>(process: (value: T) => IPromise<U>, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => IPromise<U>, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
retry<U>(process: (value: T) => IPromise<U>, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => IPromise<U>, options?: IRetryOptions): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, options?: IRetryOptions): Promise<U>;
|
||||
}
|
||||
}
|
||||
|
||||
declare module "q-retry" {
|
||||
export = Q;
|
||||
// Type definitions for q-retry
|
||||
// Project: https://github.com/vilic/q-retry
|
||||
// Definitions by: VILIC VANE <https://github.com/vilic>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../q/Q.d.ts" />
|
||||
|
||||
declare module Q {
|
||||
export interface IRetryOptions {
|
||||
limit?: number;
|
||||
interval?: number;
|
||||
maxInterval?: number;
|
||||
intervalMultiplier?: number;
|
||||
}
|
||||
|
||||
export function retry<U>(process: () => IPromise<U>, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => IPromise<U>, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
export function retry<U>(process: () => IPromise<U>, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => IPromise<U>, options?: IRetryOptions): Promise<U>;
|
||||
export function retry<U>(process: () => U, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => U, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
export function retry<U>(process: () => U, limit: number): Promise<U>;
|
||||
export function retry<U>(process: () => U, options?: IRetryOptions): Promise<U>;
|
||||
|
||||
interface Promise<T> {
|
||||
retry<U>(process: (value: T) => IPromise<U>, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => IPromise<U>, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
retry<U>(process: (value: T) => IPromise<U>, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => IPromise<U>, options?: IRetryOptions): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, onFail: (reason: any, retries: number) => void, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, onFail: (reason: any, retries: number) => void, options?: IRetryOptions): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, limit: number): Promise<U>;
|
||||
retry<U>(process: (value: T) => U, options?: IRetryOptions): Promise<U>;
|
||||
}
|
||||
}
|
||||
|
||||
declare module "q-retry" {
|
||||
export = Q;
|
||||
}
|
||||
@@ -101,6 +101,11 @@ declare module Q {
|
||||
*/
|
||||
done(onFulfilled?: (value: T) => any, onRejected?: (reason: any) => any, onProgress?: (progress: any) => any): void;
|
||||
|
||||
/**
|
||||
* If callback is a function, assumes it's a Node.js-style callback, and calls it as either callback(rejectionReason) when/if promise becomes rejected, or as callback(null, fulfillmentValue) when/if promise becomes fulfilled. If callback is not a function, simply returns promise.
|
||||
*/
|
||||
nodeify(callback: (reason: any, value: any) => void): Promise<T>;
|
||||
|
||||
/**
|
||||
* Returns a promise to get the named property of an object. Essentially equivalent to
|
||||
*
|
||||
@@ -161,7 +166,7 @@ declare module Q {
|
||||
* Returns whether a given promise is in the pending state. When the static version is used on non-promises, the result is always false.
|
||||
*/
|
||||
isPending(): boolean;
|
||||
|
||||
|
||||
valueOf(): any;
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,7 +22,7 @@ myApp.config((RestangularProvider: restangular.IProvider) => {
|
||||
RestangularProvider.setRequestInterceptor(function (element, operation, route, url) {
|
||||
});
|
||||
|
||||
RestangularProvider.addElementTransformer('accounts', false, function (elem) {
|
||||
RestangularProvider.addElementTransformer('accounts', false, function (elem: any) {
|
||||
elem.accountName = 'Changed';
|
||||
return elem;
|
||||
});
|
||||
@@ -74,9 +74,13 @@ myApp.controller('TestCtrl', (
|
||||
baseAccounts.post(newAccount);
|
||||
|
||||
Restangular.allUrl('googlers', 'http://www.google.com/').getList();
|
||||
Restangular.allUrl('googlers', 'http://www.google.com/').getList<String>();
|
||||
Restangular.oneUrl('googlers', 'http://www.google.com/1').get();
|
||||
Restangular.oneUrl('googlers', 'http://www.google.com/1').get<String>();
|
||||
Restangular.one('accounts', 123).one('buildings', 456).get();
|
||||
Restangular.one('accounts', 123).one('buildings', 456).get<String>();
|
||||
Restangular.one('accounts', 123).getList('buildings');
|
||||
Restangular.one('accounts', 123).getList<String>('buildings');
|
||||
|
||||
baseAccounts.getList().then(function (accounts) {
|
||||
var firstAccount = accounts[0];
|
||||
@@ -104,7 +108,7 @@ myApp.controller('TestCtrl', (
|
||||
console.log("There was an error saving");
|
||||
});
|
||||
|
||||
firstAccount.getList("users", {query: "params"}).then(function(users) {
|
||||
firstAccount.getList("users", {query: "params"}).then(function(users: any) {
|
||||
users.post({userName: 'unknown'});
|
||||
users.customGET("messages", {param: "myParam"});
|
||||
|
||||
@@ -151,7 +155,7 @@ myApp.controller('TestCtrl', (
|
||||
configurer.setRequestInterceptor(function (element, operation, route, url) {
|
||||
});
|
||||
|
||||
configurer.addElementTransformer('accounts', false, function (elem) {
|
||||
configurer.addElementTransformer('accounts', false, function (elem: any) {
|
||||
elem.accountName = 'Changed';
|
||||
return elem;
|
||||
});
|
||||
|
||||
Vendored
+6
@@ -99,10 +99,14 @@ declare module restangular {
|
||||
|
||||
interface IElement extends IService {
|
||||
get(queryParams?: any, headers?: any): IPromise<any>;
|
||||
get<T>(queryParams?: any, headers?: any): IPromise<T>;
|
||||
getList(subElement?: any, queryParams?: any, headers?: any): ICollectionPromise<any>;
|
||||
getList<T>(subElement?: any, queryParams?: any, headers?: any): ICollectionPromise<T>;
|
||||
put(queryParams?: any, headers?: any): IPromise<any>;
|
||||
post(subElement: any, elementToPost: any, queryParams?: any, headers?: any): IPromise<any>;
|
||||
post<T>(subElement: any, elementToPost: T, queryParams?: any, headers?: any): IPromise<T>;
|
||||
post(elementToPost: any, queryParams?: any, headers?: any): IPromise<any>;
|
||||
post<T>(elementToPost: T, queryParams?: any, headers?: any): IPromise<T>;
|
||||
remove(queryParams?: any, headers?: any): IPromise<any>;
|
||||
head(queryParams?: any, headers?: any): IPromise<any>;
|
||||
trace(queryParams?: any, headers?: any): IPromise<any>;
|
||||
@@ -114,7 +118,9 @@ declare module restangular {
|
||||
|
||||
interface ICollection extends IService {
|
||||
getList(queryParams?: any, headers?: any): ICollectionPromise<any>;
|
||||
getList<T>(queryParams?: any, headers?: any): ICollectionPromise<T>;
|
||||
post(elementToPost: any, queryParams?: any, headers?: any): IPromise<any>;
|
||||
post<T>(elementToPost: T, queryParams?: any, headers?: any): IPromise<T>;
|
||||
head(queryParams?: any, headers?: any): IPromise<any>;
|
||||
trace(queryParams?: any, headers?: any): IPromise<any>;
|
||||
options(queryParams?: any, headers?: any): IPromise<any>;
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
/// <reference path="sipml.d.ts" />
|
||||
|
||||
/* Code borrowed from http://sipml5.org/docgen/index.html?svn=224 */
|
||||
|
||||
var acceptMessage = (e: any)=> {
|
||||
e.newSession.accept(); // e.newSession.reject(); to reject the message
|
||||
console.info('SMS-content = ' + e.getContentString() + ' and SMS-content-type = ' + e.getContentType());
|
||||
};
|
||||
var acceptCall = (e:any)=> {
|
||||
e.newSession.accept(); // e.newSession.reject() to reject the call
|
||||
};
|
||||
|
||||
/* Initialize the engine */
|
||||
var readyCallback = (e:any)=> {
|
||||
createSipStack(); // see next section
|
||||
};
|
||||
var errorCallback = (e:any)=> {
|
||||
console.error('Failed to initialize the engine: ' + e.message);
|
||||
}
|
||||
SIPml.init(readyCallback, errorCallback);
|
||||
|
||||
/* Create a SIP stack */
|
||||
var sipStack: SIPml.Stack;
|
||||
var eventsListener = (e:any)=> {
|
||||
if(e.type == 'started'){
|
||||
login();
|
||||
}
|
||||
else if(e.type == 'i_new_message'){ // incoming new SIP MESSAGE (SMS-like)
|
||||
acceptMessage(e);
|
||||
}
|
||||
else if(e.type == 'i_new_call'){ // incoming audio/video call
|
||||
acceptCall(e);
|
||||
}
|
||||
}
|
||||
|
||||
function createSipStack(){
|
||||
sipStack = new SIPml.Stack('blaat');
|
||||
sipStack = new SIPml.Stack({
|
||||
realm: 'example.org', // mandatory: domain name
|
||||
impi: 'bob', // mandatory: authorization name (IMS Private Identity)
|
||||
impu: 'sip:bob@example.org', // mandatory: valid SIP Uri (IMS Public Identity)
|
||||
password: 'mysecret', // optional
|
||||
display_name: 'Bob legend', // optional
|
||||
websocket_proxy_url: 'wss://sipml5.org:10062', // optional
|
||||
outbound_proxy_url: 'udp://example.org:5060', // optional
|
||||
enable_rtcweb_breaker: false, // optional
|
||||
events_listener: { events: '*', listener: eventsListener }, // optional: '*' means all events
|
||||
sip_headers: [ // optional
|
||||
{ name: 'User-Agent', value: 'IM-client/OMA1.0 sipML5-v1.0.0.0' },
|
||||
{ name: 'Organization', value: 'Doubango Telecom' }
|
||||
]
|
||||
}
|
||||
);
|
||||
}
|
||||
sipStack.start();
|
||||
|
||||
/* Register/login */
|
||||
var registerSession: SIPml.Session.Registration;
|
||||
var eventsListener = (e:any)=>{
|
||||
console.info('session event = ' + e.type);
|
||||
if(e.type == 'connected' && e.session == registerSession){
|
||||
makeCall();
|
||||
sendMessage();
|
||||
publishPresence();
|
||||
subscribePresence('johndoe'); // watch johndoe's presence status change
|
||||
}
|
||||
}
|
||||
var login = ()=>{
|
||||
registerSession = <SIPml.Session.Registration>sipStack.newSession('register', {
|
||||
events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
|
||||
});
|
||||
registerSession.register();
|
||||
}
|
||||
|
||||
/* Making/receiving audio/video call */
|
||||
var callSession: SIPml.Session.Call;
|
||||
var eventsListener = (e:any)=>{
|
||||
console.info('session event = ' + e.type);
|
||||
}
|
||||
var makeCall = ()=>{
|
||||
callSession = <SIPml.Session.Call>sipStack.newSession('call-audiovideo', {
|
||||
video_local: document.getElementById('video-local'),
|
||||
video_remote: document.getElementById('video-remote'),
|
||||
audio_remote: document.getElementById('audio-remote'),
|
||||
events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
|
||||
});
|
||||
callSession.call('johndoe');
|
||||
}
|
||||
var acceptCall = (e:any)=>{
|
||||
e.newSession.accept(); // e.newSession.reject() to reject the call
|
||||
}
|
||||
|
||||
/* Send/receive SIP MESSAGE (SMS-like) */
|
||||
var messageSession: SIPml.Session.Message;
|
||||
var eventsListener = (e:any)=>{
|
||||
console.info('session event = ' + e.type);
|
||||
}
|
||||
var sendMessage = ()=>{
|
||||
messageSession = <SIPml.Session.Message>sipStack.newSession('message', {
|
||||
events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
|
||||
});
|
||||
messageSession.send('johndoe', 'Pêche à la moule', 'text/plain;charset=utf-8');
|
||||
}
|
||||
|
||||
/* Publish presence status */
|
||||
var publishSession: SIPml.Session.Publish;
|
||||
var eventsListener = (e:any)=>{
|
||||
console.info('session event = ' + e.type);
|
||||
}
|
||||
var publishPresence = ()=>{
|
||||
publishSession = <SIPml.Session.Publish>sipStack.newSession('publish', {
|
||||
events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
|
||||
});
|
||||
var contentType = 'application/pidf+xml';
|
||||
var content = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n' +
|
||||
'<presence xmlns=\"urn:ietf:params:xml:ns:pidf\"\n' +
|
||||
' xmlns:im=\"urn:ietf:params:xml:ns:pidf:im\"' +
|
||||
' entity=\"sip:bob@example.com\">\n' +
|
||||
'<tuple id=\"s8794\">\n' +
|
||||
'<status>\n'+
|
||||
' <basic>open</basic>\n' +
|
||||
' <im:im>away</im:im>\n' +
|
||||
'</status>\n' +
|
||||
'<contact priority=\"0.8\">tel:+33600000000</contact>\n' +
|
||||
'<note xml:lang=\"fr\">Bonjour de Paris :)</note>\n' +
|
||||
'</tuple>\n' +
|
||||
'</presence>';
|
||||
|
||||
// send the PUBLISH request
|
||||
publishSession.publish(content, contentType,{
|
||||
expires: 200,
|
||||
sip_caps: [
|
||||
{ name: '+g.oma.sip-im' },
|
||||
{ name: '+sip.ice' },
|
||||
{ name: 'language', value: '\"en,fr\"' }
|
||||
],
|
||||
sip_headers: [
|
||||
{ name: 'Event', value: 'presence' },
|
||||
{ name: 'Organization', value: 'Doubango Telecom' }
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
/* Subscribe for presence status */
|
||||
var subscribeSession: SIPml.Session.Subscribe;
|
||||
var eventsListener = (e:any)=>{
|
||||
console.info('session event = ' + e.type);
|
||||
if(e.type == 'i_notify'){
|
||||
console.info('NOTIFY content = ' + e.getContentString());
|
||||
console.info('NOTIFY content-type = ' + e.getContentType());
|
||||
}
|
||||
}
|
||||
var subscribePresence = (to:string)=>{
|
||||
subscribeSession = <SIPml.Session.Subscribe>sipStack.newSession('subscribe', {
|
||||
expires: 200,
|
||||
events_listener: { events: '*', listener: eventsListener },
|
||||
sip_headers: [
|
||||
{ name: 'Event', value: 'presence' }, // only notify for 'presence' events
|
||||
{ name: 'Accept', value: 'application/pidf+xml' } // supported content types (COMMA-sparated)
|
||||
],
|
||||
sip_caps: [
|
||||
{ name: '+g.oma.sip-im', value: null },
|
||||
{ name: '+audio', value: null },
|
||||
{ name: 'language', value: '\"en,fr\"' }
|
||||
]
|
||||
});
|
||||
// start watching for entity's presence status (You may track event type 'connected' to be sure that the request has been accepted by the server)
|
||||
subscribeSession.subscribe(to);
|
||||
}
|
||||
Vendored
+149
@@ -0,0 +1,149 @@
|
||||
// Type definitions for SIPml5
|
||||
// Project: http://sipml5.org/
|
||||
// Definitions by: A. Groenenboom <https://github.com/chookies>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module SIPml {
|
||||
class Event {
|
||||
public description: string;
|
||||
public type: string;
|
||||
|
||||
public getContent(): Object;
|
||||
public getContentString(): string;
|
||||
public getContentType(): Object;
|
||||
public getSipResponseCode(): number;
|
||||
}
|
||||
|
||||
class EventTarget {
|
||||
public addEventListener(type: any, listener: Function): void;
|
||||
public removeEventListener(type: any): void;
|
||||
}
|
||||
|
||||
class Session {
|
||||
public accept(configuration?: Session.Configuration): number;
|
||||
public getId(): number;
|
||||
public getRemoteFriendlyName(): string;
|
||||
public getRemoteUri(): string;
|
||||
public reject(configuration?: Session.Configuration): number;
|
||||
public setConfiguration(configuration?: Session.Configuration): void;
|
||||
}
|
||||
|
||||
export module Session {
|
||||
interface Configuration {
|
||||
audio_remote?: HTMLAudioElement;
|
||||
bandwidth?: Object;
|
||||
expires?: number;
|
||||
from?: string;
|
||||
sip_caps?: Object[];
|
||||
sip_headers?: Object[];
|
||||
video_local?: HTMLVideoElement;
|
||||
video_remote?: HTMLVideoElement;
|
||||
video_size?: Object;
|
||||
}
|
||||
|
||||
class Call extends Session {
|
||||
public acceptTransfer(configuration?: Session.Configuration): number;
|
||||
public call(to: string, configuration?: Session.Configuration): number;
|
||||
public dtmf(): number;
|
||||
public hangup(configuration?: Session.Configuration): number;
|
||||
public hold(configuration?: Session.Configuration): number;
|
||||
public info(): number;
|
||||
public rejectTransfer(): number;
|
||||
public resume(): number;
|
||||
public transfer(): number;
|
||||
}
|
||||
|
||||
class Event extends SIPml.Event {
|
||||
public session: Session;
|
||||
|
||||
public getTransferDestinationFriendlyName(): string;
|
||||
}
|
||||
|
||||
class Message extends Session {
|
||||
public send(to: string, content?: any, contentType?: string, configuration?: Session.Configuration): number;
|
||||
}
|
||||
|
||||
class Publish extends Session {
|
||||
public publish(content?: any, contentType?: string, configuration?: Session.Configuration): number;
|
||||
|
||||
public unpublish(configuration?: Session.Configuration): void;
|
||||
}
|
||||
|
||||
class Registration extends Session {
|
||||
public register(configuration?: Session.Configuration): void;
|
||||
public unregister(configuration?: Session.Configuration): void;
|
||||
}
|
||||
|
||||
class Subscribe extends Session {
|
||||
public subscribe(to: string, configuration?: Session.Configuration): number;
|
||||
public unsubscribe(configuration?: Session.Configuration): number;
|
||||
}
|
||||
}
|
||||
|
||||
class Stack extends EventTarget {
|
||||
public constructor(configuration?: Stack.Configuration);
|
||||
public setConfiguration(configuration: Stack.Configuration): number;
|
||||
public newSession(type: string, configuration: Stack.Configuration): any;
|
||||
public start(): number;
|
||||
public stop(timeout: number): number;
|
||||
}
|
||||
|
||||
export module Stack {
|
||||
interface Configuration {
|
||||
bandwidth?: Object;
|
||||
display_name?: string;
|
||||
enable_click2call?: boolean;
|
||||
enable_early_ims?: boolean;
|
||||
enable_media_stream_cache?: boolean;
|
||||
enable_rtcweb_breaker?: boolean;
|
||||
events_listener?: Object;
|
||||
ice_servers?: Object[];
|
||||
impi?: string;
|
||||
impu?: string;
|
||||
outbound_proxy_url?: string;
|
||||
password?: string;
|
||||
realm?: string;
|
||||
sip_headers?: Object[];
|
||||
video_size?: Object;
|
||||
websocket_proxy_url?: string;
|
||||
}
|
||||
|
||||
class Event extends SIPml.Event {
|
||||
public description: string;
|
||||
public newSession: Session;
|
||||
public type: string;
|
||||
}
|
||||
}
|
||||
|
||||
function getNavigatorFriendlyName(): string;
|
||||
|
||||
function getNavigatorVersion(): string;
|
||||
|
||||
function getSystemFriendlyName(): string;
|
||||
|
||||
function getWebRtc4AllVersion(): string;
|
||||
|
||||
function haveMediaStream(): boolean;
|
||||
|
||||
function init(readyCallback?: (e:any) => any, errorCallback?: (e:any) => any): boolean;
|
||||
|
||||
function isInitialized(): boolean;
|
||||
|
||||
function isNavigatorOutdated(): boolean;
|
||||
|
||||
function isReady(): boolean;
|
||||
|
||||
function isScreenShareSupported(): boolean;
|
||||
|
||||
function isWebRtcPluginOutdated(): boolean;
|
||||
|
||||
function isWebRtc4AllSupported(): boolean;
|
||||
|
||||
function isWebRtcSupported(): boolean;
|
||||
|
||||
function isWebSocketSupported(): boolean;
|
||||
|
||||
function setDebugLevel(level: string): void;
|
||||
|
||||
function setWebRtcType(type: string): boolean;
|
||||
}
|
||||
Vendored
+6
-1
@@ -1,4 +1,4 @@
|
||||
// Type definitions for Smoothie Charts 1.21
|
||||
// Type definitions for Smoothie Charts 1.25
|
||||
// Project: https://github.com/joewalnes/smoothie
|
||||
// Definitions by: Drew Noakes <https://drewnoakes.com>, Mike H. Hawley <https://github.com/mikehhawley>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped/smoothie
|
||||
@@ -41,6 +41,11 @@ declare module "smoothie"
|
||||
*/
|
||||
constructor(options?: ITimeSeriesOptions);
|
||||
|
||||
/**
|
||||
* Clears all data and state from this TimeSeries object.
|
||||
*/
|
||||
clear(): void;
|
||||
|
||||
/**
|
||||
* Recalculate the min/max values for this <code>TimeSeries</code> object.
|
||||
*
|
||||
|
||||
@@ -55,12 +55,12 @@
|
||||
|
||||
// Cubes
|
||||
|
||||
var geometry = new THREE.BoxGeometry(50, 50, 50);
|
||||
var geometry2 = new THREE.BoxGeometry(50, 50, 50);
|
||||
var material2 = new THREE.MeshLambertMaterial({ color: 0xffffff, shading: THREE.FlatShading, overdraw: 0.5 });
|
||||
|
||||
for (var i = 0; i < 100; i++) {
|
||||
|
||||
var cube = new THREE.Mesh(geometry, material2);
|
||||
var cube = new THREE.Mesh(geometry2, material2);
|
||||
|
||||
cube.scale.y = Math.floor(Math.random() * 2 + 1);
|
||||
|
||||
|
||||
@@ -61,12 +61,12 @@
|
||||
|
||||
// Plane
|
||||
|
||||
var geometry = new THREE.PlaneGeometry(200, 200);
|
||||
geometry.applyMatrix(new THREE.Matrix4().makeRotationX(- Math.PI / 2));
|
||||
var geometry2 = new THREE.PlaneGeometry(200, 200);
|
||||
geometry2.applyMatrix(new THREE.Matrix4().makeRotationX(- Math.PI / 2));
|
||||
|
||||
var material = new THREE.MeshBasicMaterial({ color: 0xe0e0e0, overdraw: 0.5 });
|
||||
|
||||
plane = new THREE.Mesh(geometry, material);
|
||||
plane = new THREE.Mesh(geometry2, material);
|
||||
scene.add(plane);
|
||||
|
||||
renderer = new THREE.CanvasRenderer();
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
// Spheres
|
||||
|
||||
var geometry = new THREE.SphereGeometry(100, 14, 7);
|
||||
var geometry2 = new THREE.SphereGeometry(100, 14, 7);
|
||||
|
||||
materials = [
|
||||
|
||||
@@ -66,9 +66,9 @@
|
||||
|
||||
];
|
||||
|
||||
for (var i = 0, l = geometry.faces.length; i < l; i++) {
|
||||
for (var i = 0, l = geometry2.faces.length; i < l; i++) {
|
||||
|
||||
var face = geometry.faces[i];
|
||||
var face = geometry2.faces[i];
|
||||
if (Math.random() > 0.5) face.materialIndex = Math.floor(Math.random() * materials.length);
|
||||
|
||||
}
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
for (var i = 0, l = materials.length; i < l; i++) {
|
||||
|
||||
var sphere = new THREE.Mesh(geometry, materials[i]);
|
||||
var sphere = new THREE.Mesh(geometry2, materials[i]);
|
||||
|
||||
sphere.position.x = (i % 5) * 200 - 400;
|
||||
sphere.position.z = Math.floor(i / 5) * 200 - 200;
|
||||
|
||||
Vendored
+1041
-902
File diff suppressed because it is too large
Load Diff
+702
-702
File diff suppressed because it is too large
Load Diff
+1004
-1004
File diff suppressed because it is too large
Load Diff
@@ -1,21 +1,21 @@
|
||||
/// <reference path="tspromise.d.ts" />
|
||||
|
||||
import Promise = require('tspromise');
|
||||
|
||||
var MyFuncFunc = Promise.async((a: boolean, b: number) => {
|
||||
console.log('[a] ' + a);
|
||||
yield(Promise.waitAsync(1000));
|
||||
console.log('[b]' + b);
|
||||
});
|
||||
|
||||
MyFuncFunc(true, 10);
|
||||
|
||||
Promise.all([Promise.waitAsync(10), Promise.waitAsync(20)]).then(() => {
|
||||
return new Promise<String>((resolve, reject) => {
|
||||
resolve('test');
|
||||
});
|
||||
}).then(() => {
|
||||
throw (new Error());
|
||||
}).catch((e) => {
|
||||
console.log(e.message);
|
||||
/// <reference path="tspromise.d.ts" />
|
||||
|
||||
import Promise = require('tspromise');
|
||||
|
||||
var MyFuncFunc = Promise.async((a: boolean, b: number) => {
|
||||
console.log('[a] ' + a);
|
||||
yield(Promise.waitAsync(1000));
|
||||
console.log('[b]' + b);
|
||||
});
|
||||
|
||||
MyFuncFunc(true, 10);
|
||||
|
||||
Promise.all([Promise.waitAsync(10), Promise.waitAsync(20)]).then(() => {
|
||||
return new Promise<String>((resolve, reject) => {
|
||||
resolve('test');
|
||||
});
|
||||
}).then(() => {
|
||||
throw (new Error());
|
||||
}).catch((e) => {
|
||||
console.log(e.message);
|
||||
});
|
||||
@@ -6,84 +6,50 @@
|
||||
//
|
||||
declare var Hogan: string;
|
||||
|
||||
// Countries
|
||||
// Prefetches data, stores it in localStorage, and searches it on the client
|
||||
$('.example-countries .typeahead').typeahead({
|
||||
name: 'countries',
|
||||
prefetch: '../data/countries.json',
|
||||
limit: 10
|
||||
var substringMatcher = function (strs: any) {
|
||||
return function findMatches(q: any, cb: any) {
|
||||
var matches: any, substrRegex: any;
|
||||
|
||||
// an array that will be populated with substring matches
|
||||
matches = [];
|
||||
|
||||
// regex used to determine if a string contains the substring `q`
|
||||
substrRegex = new RegExp(q, 'i');
|
||||
|
||||
// iterate through the pool of strings and for any string that
|
||||
// contains the substring `q`, add it to the `matches` array
|
||||
$.each(strs, function (i, str) {
|
||||
if (substrRegex.test(str)) {
|
||||
// the typeahead jQuery plugin expects suggestions to a
|
||||
// JavaScript object, refer to typeahead docs for more info
|
||||
matches.push({ value: str });
|
||||
}
|
||||
});
|
||||
|
||||
// Open Source Projects by Twitter
|
||||
// Defines a custom template and template engine for rendering suggestions
|
||||
$('.example-twitter-oss .typeahead').typeahead({
|
||||
name: 'twitter-oss',
|
||||
prefetch: '../data/repos.json',
|
||||
template: [
|
||||
'<p class="repo-language">{{language}}</p>',
|
||||
'<p class="repo-name">{{name}}</p>',
|
||||
'<p class="repo-description">{{description}}</p>'
|
||||
].join(''),
|
||||
engine: Hogan
|
||||
});
|
||||
cb(matches);
|
||||
};
|
||||
};
|
||||
|
||||
// Arabic Phrases
|
||||
// Hardcoded list showing Right - To - Left(RTL) support
|
||||
$('.example-arabic .typeahead').typeahead({
|
||||
name: 'arabic',
|
||||
local: [
|
||||
"الإنجليزية",
|
||||
"نعم",
|
||||
"لا",
|
||||
"مرحبا",
|
||||
"کيف الحال؟",
|
||||
"أهلا",
|
||||
"مع السلامة",
|
||||
"لا أتكلم العربية",
|
||||
"لا أفهم",
|
||||
"أنا جائع"
|
||||
]
|
||||
});
|
||||
var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
|
||||
'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
|
||||
'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
|
||||
'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
|
||||
'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
|
||||
'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
|
||||
'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
|
||||
'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
|
||||
'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
|
||||
];
|
||||
|
||||
// NBA and NHL Teams
|
||||
// Two datasets that are prefetched, stored, and searched on the client
|
||||
$('.example-sports .typeahead').typeahead([
|
||||
{
|
||||
name: 'nba-teams',
|
||||
prefetch: '../data/nba.json',
|
||||
header: '<h3 class="league-name">NBA Teams</h3>'
|
||||
},
|
||||
{
|
||||
name: 'nhl-teams',
|
||||
prefetch: '../data/nhl.json',
|
||||
header: '<h3 class="league-name">NHL Teams</h3>'
|
||||
}
|
||||
]);
|
||||
|
||||
// Best Picture Winners
|
||||
// Prefetches some data then relies on remote requests for suggestions when prefetched data is insufficient
|
||||
$('.example-films .typeahead').typeahead([
|
||||
{
|
||||
name: 'best-picture-winners',
|
||||
remote: '../data/films/queries/%QUERY.json',
|
||||
prefetch: '../data/films/post_1960.json',
|
||||
template: '<p><strong>{{value}}</strong> – {{year}}</p>',
|
||||
engine: Hogan
|
||||
}
|
||||
]);
|
||||
|
||||
// Countries - Modified the first test here to add options
|
||||
// Specifies options to display hint with a highlight and adds a minimum length restriction for search
|
||||
// Prefetches data, stores it in localStorage, and searches it on the client
|
||||
$('.example-countries .typeahead').typeahead({
|
||||
$('#the-basics .typeahead').typeahead({
|
||||
hint: true,
|
||||
highlight: true,
|
||||
minLength: 2
|
||||
minLength: 1
|
||||
},
|
||||
{
|
||||
name: 'countries',
|
||||
prefetch: '../data/countries.json',
|
||||
limit: 10
|
||||
name: 'states',
|
||||
displayKey: 'value',
|
||||
source: substringMatcher(states)
|
||||
});
|
||||
|
||||
module valueTest {
|
||||
|
||||
Vendored
+93
-194
@@ -1,53 +1,71 @@
|
||||
// Type definitions for typeahead.js 0.9.3
|
||||
// Type definitions for typeahead.js 0.10.4
|
||||
// Project: http://twitter.github.io/typeahead.js/
|
||||
// Definitions by: Ivaylo Gochkov <https://github.com/igochkov/>
|
||||
// Definitions by: Ivaylo Gochkov <https://github.com/igochkov/>, Gidon Junge <https://github.com/gjunge/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
|
||||
interface JQuery {
|
||||
/**
|
||||
* Turns an input[type="text"] element into a typeahead.
|
||||
*
|
||||
* @constructor
|
||||
* @param dataset Single dataset
|
||||
*/
|
||||
typeahead(dataset: Twitter.Typeahead.Dataset): JQuery;
|
||||
|
||||
/**
|
||||
* Turns an input[type="text"] element into a typeahead.
|
||||
*
|
||||
* @constructor
|
||||
* @param dataset Array of datasets
|
||||
*/
|
||||
typeahead(datasets: Twitter.Typeahead.Dataset[]): JQuery;
|
||||
|
||||
/**
|
||||
* Destroys previously initialized typeaheads. This entails reverting
|
||||
* DOM modifications and removing event handlers.
|
||||
*
|
||||
* @constructor
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method 'destroy'
|
||||
*/
|
||||
*/
|
||||
typeahead(methodName: 'destroy'): JQuery;
|
||||
|
||||
/**
|
||||
* Sets the current query of the typeahead. This is always preferable to
|
||||
* using $("input.typeahead").val(query), which will result in unexpected
|
||||
* behavior. To clear the query, simply set it to an empty string.
|
||||
* Opens the dropdown menu of typeahead. Note that being open does not mean that the menu is visible.
|
||||
* The menu is only visible when it is open and has content.
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method 'setQuery'
|
||||
* @param query The query to be set
|
||||
* @param methodName Method 'open'
|
||||
*/
|
||||
typeahead(methodName: 'setQuery', query: string): JQuery;
|
||||
typeahead(methodName: 'open'): JQuery;
|
||||
|
||||
/**
|
||||
* Accommodates the destroy and setQuery overloads.
|
||||
* Closes the dropdown menu of typeahead.
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method 'close'
|
||||
*/
|
||||
typeahead(methodName: 'close'): JQuery;
|
||||
|
||||
/**
|
||||
* Returns the current value of the typeahead.
|
||||
* The value is the text the user has entered into the input element.
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method name ('destroy' or 'setQuery')
|
||||
* @param query The query to be set in case method 'setQuery' is used.
|
||||
* @param methodName Method 'val'
|
||||
*/
|
||||
typeahead(methodName: 'val'): string;
|
||||
|
||||
/**
|
||||
* Sets the value of the typeahead. This should be used in place of jQuery#val.
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method 'val'
|
||||
* @param query The value to be set
|
||||
*/
|
||||
typeahead(methodName: 'val', val: string): JQuery;
|
||||
|
||||
/**
|
||||
* Accommodates the val overload.
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method name ('val')
|
||||
*/
|
||||
typeahead(methodName: string): string;
|
||||
|
||||
|
||||
/**
|
||||
* Accommodates multiple overloads.
|
||||
*
|
||||
* @constructor
|
||||
* @param methodName Method name
|
||||
* @param query The query to be set in case method 'val' is used.
|
||||
*/
|
||||
typeahead(methodName: string, query: string): JQuery;
|
||||
|
||||
@@ -57,20 +75,19 @@ interface JQuery {
|
||||
*
|
||||
* @constructor
|
||||
* @param options ('hint' or 'highlight' or 'minLength' all of which are optional)
|
||||
* @param dataset Array of datasets
|
||||
* @param datasets Array of datasets
|
||||
*/
|
||||
typeahead(options: Twitter.Typeahead.Options, dataset: Twitter.Typeahead.Dataset): JQuery;
|
||||
typeahead(options: Twitter.Typeahead.Options, datasets: Twitter.Typeahead.Dataset[]): JQuery;
|
||||
|
||||
/**
|
||||
* Returns the current value of the typeahead. The value is the text the user has entered into the input element.
|
||||
* Accomodates specifying options such as hint and highlight.
|
||||
* This is in correspondence to the examples mentioned in http://twitter.github.io/typeahead.js/examples/
|
||||
*
|
||||
* @constructor
|
||||
* @param options ('hint' or 'highlight' or 'minLength' all of which are optional)
|
||||
* @param datasets One or more datasets passed in as arguments.
|
||||
*/
|
||||
typeahead(methodName: 'val'): string;
|
||||
typeahead(methodName: string): string;
|
||||
|
||||
/**
|
||||
* Sets the value of the typeahead. This should be used in place of jQuery#val.
|
||||
*/
|
||||
typeahead(methodName: 'val', value: string): JQuery;
|
||||
typeahead(options: Twitter.Typeahead.Options, ... datasets: Twitter.Typeahead.Dataset[]): JQuery;
|
||||
}
|
||||
|
||||
declare module Twitter.Typeahead {
|
||||
@@ -82,188 +99,70 @@ declare module Twitter.Typeahead {
|
||||
*/
|
||||
interface Dataset {
|
||||
/**
|
||||
* The string used to identify the dataset. Used by typeahead.js
|
||||
* to cache intelligently.
|
||||
* The backing data source for suggestions.
|
||||
* Expected to be a function with the signature (query, cb).
|
||||
* It is expected that the function will compute the suggestion set (i.e. an array of JavaScript objects) for query and then invoke cb with said set.
|
||||
* cb can be invoked synchronously or asynchronously.
|
||||
*
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The key used to access the value of the datum in the datum object.
|
||||
* Defaults to value.
|
||||
*/
|
||||
valueKey?: string;
|
||||
/**
|
||||
* The max number of suggestions from the dataset to display
|
||||
* for a given query. Defaults to 5.
|
||||
*/
|
||||
limit?: number;
|
||||
/**
|
||||
* The template used to render suggestions. Can be a string or
|
||||
* a precompiled template. If not provided, suggestions will render
|
||||
* as their value contained in a <p> element (i.e. <p>value</p>).
|
||||
*/
|
||||
template?: any;
|
||||
/**
|
||||
* The template engine used to compile/render template if it is a
|
||||
* string. Any engine can use used as long as it adheres to the
|
||||
* expected API. Required if template is a string.
|
||||
*/
|
||||
engine?: string;
|
||||
/**
|
||||
* The header rendered before suggestions in the dropdown menu.
|
||||
* Can be either a DOM element or HTML.
|
||||
*/
|
||||
header?: any;
|
||||
/**
|
||||
* The footer rendered after suggestions in the dropdown menu.
|
||||
* Can be either a DOM element or HTML.
|
||||
*/
|
||||
footer?: any;
|
||||
/**
|
||||
* An array of datums or strings.
|
||||
*/
|
||||
local?: any[];
|
||||
/**
|
||||
* Can be a URL to a JSON file containing an array of datums or,
|
||||
* if more configurability is needed, a prefetch options object.
|
||||
*/
|
||||
prefetch?: any;
|
||||
/**
|
||||
* Can be a URL to fetch suggestions from when the data provided by
|
||||
* local and prefetch is insufficient or, if more configurability is
|
||||
* needed, a remote options object.
|
||||
*/
|
||||
remote?: any;
|
||||
}
|
||||
source: (query: string, cb: (result: any) => void) => void;
|
||||
|
||||
/**
|
||||
* Prefetched data is fetched and processed on initialization.
|
||||
* If the browser supports localStorage, the processed data will be cached
|
||||
* there to prevent additional network requests on subsequent page loads.
|
||||
*/
|
||||
interface PrefetchOptions {
|
||||
/**
|
||||
* A URL to a JSON file containing an array of datums. Required.
|
||||
* The name of the dataset.
|
||||
* This will be appended to tt-dataset- to form the class name of the containing DOM element.
|
||||
* Must only consist of underscores, dashes, letters (a-z), and numbers.
|
||||
* Defaults to a random number.
|
||||
*/
|
||||
url: string;
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
* The time (in milliseconds) the prefetched data should be cached
|
||||
* in localStorage. Defaults to 86400000 (1 day).
|
||||
* For a given suggestion object, determines the string representation of it.
|
||||
* This will be used when setting the value of the input control after a suggestion is selected. Can be either a key string or a function that transforms a suggestion object into a string.
|
||||
* Defaults to value.
|
||||
*/
|
||||
ttl?: number;
|
||||
displayKey?: string;
|
||||
|
||||
/**
|
||||
* A function that transforms the response body into an array of datums.
|
||||
*
|
||||
* @param parsedResponse Response body
|
||||
* A hash of templates to be used when rendering the dataset.
|
||||
* Note a precompiled template is a function that takes a JavaScript object as its first argument and returns a HTML string.
|
||||
*/
|
||||
filter?: (parsedResponse: any) => Datum[];
|
||||
templates?: Templates;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remote data is only used when the data provided by local and prefetch
|
||||
* is insufficient. In order to prevent an obscene number of requests
|
||||
* being made to remote endpoint, typeahead.js rate-limits remote requests.
|
||||
*/
|
||||
interface RemoteOptions {
|
||||
/**
|
||||
* A URL to make requests to when the data provided by local and
|
||||
* prefetch is insufficient. Required.
|
||||
*/
|
||||
url: string;
|
||||
|
||||
interface Templates {
|
||||
|
||||
/**
|
||||
* The type of data you're expecting from the server. Defaults to json.
|
||||
* @see http://api.jquery.com/jQuery.ajax/ for more info.
|
||||
* Rendered when 0 suggestions are available for the given query.
|
||||
* Can be either a HTML string or a precompiled template.
|
||||
* If it's a precompiled template, the passed in context will contain query
|
||||
*/
|
||||
dataType?: string;
|
||||
empty?: string;
|
||||
|
||||
/**
|
||||
* Determines whether or not the browser will cache responses.
|
||||
* @see http://api.jquery.com/jQuery.ajax/ for more info.
|
||||
* Rendered at the bottom of the dataset.
|
||||
* Can be either a HTML string or a precompiled template.
|
||||
* If it's a precompiled template, the passed in context will contain query and isEmpty.
|
||||
*/
|
||||
cache?: boolean;
|
||||
footer?: string;
|
||||
|
||||
/**
|
||||
* Sets a timeout for requests.
|
||||
* @see http://api.jquery.com/jQuery.ajax/ for more info.
|
||||
* Rendered at the top of the dataset.
|
||||
* Can be either a HTML string or a precompiled template.
|
||||
* If it's a precompiled template, the passed in context will contain query and isEmpty.
|
||||
*/
|
||||
timeout?: number;
|
||||
header?: string;
|
||||
|
||||
/**
|
||||
* The pattern in url that will be replaced with the user's query
|
||||
* when a request is made. Defaults to %QUERY.
|
||||
* Used to render a single suggestion.
|
||||
* If set, this has to be a precompiled template.
|
||||
* The associated suggestion object will serve as the context.
|
||||
* Defaults to the value of displayKey wrapped in a p tag i.e. <p>{{value}}</p>.
|
||||
*/
|
||||
wildcard?: string;
|
||||
suggestion?: string;
|
||||
|
||||
/**
|
||||
* Overrides the request URL. If set, no wildcard substitution will
|
||||
* be performed on url.
|
||||
*
|
||||
* @param url Replacement URL
|
||||
* @param uriEncodedQuery Encoded query
|
||||
* @returns A valid URL
|
||||
*/
|
||||
replace?: (url: string, uriEncodedQuery: string) => string;
|
||||
|
||||
/**
|
||||
* The function used for rate-limiting network requests.
|
||||
* Can be either 'debounce' or 'throttle'. Defaults to 'debounce'.
|
||||
*/
|
||||
rateLimitFn?: string;
|
||||
|
||||
/**
|
||||
* The time interval in milliseconds that will be used by rateLimitFn.
|
||||
* Defaults to 300.
|
||||
*/
|
||||
rateLimitWait?: number;
|
||||
|
||||
/**
|
||||
* The max number of parallel requests typeahead.js can have pending.
|
||||
* Defaults to 6.
|
||||
*/
|
||||
maxParallelRequests?: number;
|
||||
|
||||
/**
|
||||
* A pre-request callback. Can be used to set custom headers.
|
||||
* @see http://api.jquery.com/jQuery.ajax/ for more info.
|
||||
*/
|
||||
beforeSend?: (jqXhr: JQueryXHR, settings: JQueryAjaxSettings) => void;
|
||||
|
||||
/**
|
||||
* Transforms the response body into an array of datums.
|
||||
*
|
||||
* @param parsedResponse Response body
|
||||
*/
|
||||
filter?: (parsedResponse: any) => Datum[];
|
||||
}
|
||||
|
||||
/**
|
||||
* The individual units that compose datasets are called datums.
|
||||
* The canonical form of a datum is an object with a value property and
|
||||
* a tokens property.
|
||||
*
|
||||
* For ease of use, datums can also be represented as a string.
|
||||
* Strings found in place of datum objects are implicitly converted
|
||||
* to a datum object.
|
||||
*
|
||||
* When datums are rendered as suggestions, the datum object is the
|
||||
* context passed to the template engine. This means if you include any
|
||||
* arbitrary properties in datum objects, those properties will be
|
||||
* available to the template used to render suggestions.
|
||||
*/
|
||||
interface Datum {
|
||||
/**
|
||||
* The string that represents the underlying value of the datum
|
||||
*/
|
||||
value: string;
|
||||
|
||||
/**
|
||||
* A collection of single-word strings that aid typeahead.js in
|
||||
* matching datums with a given query.
|
||||
*/
|
||||
tokens: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* When initializing a typeahead, there are a number of options you can configure.
|
||||
|
||||
Vendored
+6
-1
@@ -1106,7 +1106,12 @@ interface ZeptoCollection {
|
||||
* @return
|
||||
**/
|
||||
size(): number;
|
||||
|
||||
|
||||
/**
|
||||
* Get the number of elements in this collection.
|
||||
**/
|
||||
length: number;
|
||||
|
||||
/**
|
||||
* Extract the subset of this array, starting at start index. If end is specified, extract up to but not including end index.
|
||||
* @param start
|
||||
|
||||
Reference in New Issue
Block a user