Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Stefan Profanter
2015-10-19 15:36:56 +02:00
12 changed files with 242 additions and 20329 deletions
+11 -5
View File
@@ -71,10 +71,16 @@ declare module angular.ui {
* Arbitrary data object, useful for custom configuration.
*/
data?: any;
/**
* Boolean (default true). If false will not re-trigger the same state just because a search/query parameter has changed. Useful for when you'd like to modify $location.search() without triggering a reload.
*/
reloadOnSearch?: boolean;
/**
* Boolean (default true). If false will reload state on everytransitions. Useful for when you'd like to restore all data to its initial state.
*/
cache?: boolean;
}
interface IStateProvider extends angular.IServiceProvider {
@@ -229,10 +235,10 @@ declare module angular.ui {
*/
go(to: string, params?: {}, options?: IStateOptions): angular.IPromise<any>;
go(to: IState, params?: {}, options?: IStateOptions): angular.IPromise<any>;
transitionTo(state: string, params?: {}, updateLocation?: boolean): void;
transitionTo(state: IState, params?: {}, updateLocation?: boolean): void;
transitionTo(state: string, params?: {}, options?: IStateOptions): void;
transitionTo(state: IState, params?: {}, options?: IStateOptions): void;
transitionTo(state: string, params?: {}, updateLocation?: boolean): ng.IPromise<any>;
transitionTo(state: IState, params?: {}, updateLocation?: boolean): ng.IPromise<any>;
transitionTo(state: string, params?: {}, options?: IStateOptions): ng.IPromise<any>;
transitionTo(state: IState, params?: {}, options?: IStateOptions): ng.IPromise<any>;
includes(state: string, params?: {}): boolean;
is(state:string, params?: {}): boolean;
is(state: IState, params?: {}): boolean;
@@ -244,7 +250,7 @@ declare module angular.ui {
current: IState;
/** A param object, e.g. {sectionId: section.id)}, that you'd like to test against the current active state. */
params: IStateParamsService;
reload(): void;
reload(): ng.IPromise<any>;
/** Currently pending transition. A promise that'll resolve or reject. */
transition: ng.IPromise<{}>;
+1 -41
View File
@@ -1,43 +1,3 @@
/// <reference path="angular2.d.ts"/>
/// <reference path="router.d.ts"/>
import {Component, View, Directive, bootstrap, bind, NgFor, NgIf} from "angular2/angular2";
class Service {
}
class Service2 {
}
class Cmp {
static annotations: any[];
}
Cmp.annotations = [
Component({
selector: 'cmp',
bindings: [Service, bind(Service2).toValue(null)]
}),
View({
template: '{{greeting}} world!',
directives: [NgFor, NgIf]
}),
Directive({
selector: '[tooltip]',
inputs: [
'text: tooltip'
],
outputs: [
'(mouseenter):onMouseEnter()',
'(mouseleave):onMouseLeave()'
]
})
];
@Component({selector: 'cmp2'})
@View({templateUrl: '/index.html'})
class Cmp2 {
}
bootstrap(Cmp);
// No tests, because angular 2 typings are not in DefinitelyTyped.
-1
View File
@@ -1 +0,0 @@
--experimentalDecorators --noImplicitAny --target ES5
+9 -17101
View File
File diff suppressed because it is too large Load Diff
-1310
View File
File diff suppressed because it is too large Load Diff
-1330
View File
File diff suppressed because it is too large Load Diff
-408
View File
@@ -1,408 +0,0 @@
// Type definitions for Angular v2.0.0-local_sha.7d5c3eb
// Project: http://angular.io/
// Definitions by: angular team <https://github.com/angular/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
// ***********************************************************
// This file is generated by the Angular build process.
// Please do not create manual edits or send pull requests
// modifying this file.
// ***********************************************************
// angular2/test_lib depends transitively on these libraries.
// If you don't have them installed you can install them using TSD
// https://github.com/DefinitelyTyped/tsd
///<reference path="./angular2.d.ts"/>
///<reference path="../jasmine/jasmine.d.ts"/>
declare module ngTestLib {
/**
* Allows injecting dependencies in `beforeEach()` and `it()`.
*
* Example:
*
* ```
* beforeEach(inject([Dependency, AClass], (dep, object) => {
* // some code that uses `dep` and `object`
* // ...
* }));
*
* it('...', inject([AClass, AsyncTestCompleter], (object, async) => {
* object.doSomething().then(() => {
* expect(...);
* async.done();
* });
* })
* ```
*
* Notes:
* - injecting an `AsyncTestCompleter` allow completing async tests - this is the equivalent of
* adding a `done` parameter in Jasmine,
* - inject is currently a function because of some Traceur limitation the syntax should eventually
* becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`
*
* @param {Array} tokens
* @param {Function} fn
* @return {FunctionWithParamTokens}
*/
function inject(tokens: any[], fn: Function): FunctionWithParamTokens;
var proxy: ClassDecorator;
var afterEach: Function;
type SyncTestFn = () => void
interface NgMatchers extends jasmine.Matchers {
toBe(expected: any): boolean;
toEqual(expected: any): boolean;
toBePromise(): boolean;
toBeAnInstanceOf(expected: any): boolean;
toHaveText(expected: any): boolean;
toHaveCssClass(expected: any): boolean;
toImplement(expected: any): boolean;
toContainError(expected: any): boolean;
toThrowErrorWith(expectedMessage: any): boolean;
not: NgMatchers;
}
var expect: (actual: any) => NgMatchers;
class AsyncTestCompleter {
constructor(_done: Function);
done(): void;
}
function describe(...args: any[]): void;
function ddescribe(...args: any[]): void;
function xdescribe(...args: any[]): void;
function beforeEach(fn: FunctionWithParamTokens | SyncTestFn): void;
/**
* Allows overriding default bindings defined in test_injector.js.
*
* The given function must return a list of DI bindings.
*
* Example:
*
* beforeEachBindings(() => [
* bind(Compiler).toClass(MockCompiler),
* bind(SomeToken).toValue(myValue),
* ]);
*/
function beforeEachBindings(fn: any): void;
function it(name: any, fn: any, timeOut?: any): void;
function xit(name: any, fn: any, timeOut?: any): void;
function iit(name: any, fn: any, timeOut?: any): void;
interface GuinessCompatibleSpy extends jasmine.Spy {
/**
* By chaining the spy with and.returnValue, all calls to the function will return a specific
* value.
*/
andReturn(val: any): void;
/**
* By chaining the spy with and.callFake, all calls to the spy will delegate to the supplied
* function.
*/
andCallFake(fn: Function): GuinessCompatibleSpy;
/**
* removes all recorded calls
*/
reset(): void;
}
class SpyObject {
constructor(type?: any);
static stub(object?: any, config?: any, overrides?: any): void;
noSuchMethod(args: any): void;
spy(name: any): void;
prop(name: any, value: any): void;
}
function isInInnerZone(): boolean;
interface RootTestComponent {
debugElement: ng.DebugElement;
detectChanges(): void;
destroy(): void;
}
/**
* Builds a RootTestComponent for use in component level tests.
*/
class TestComponentBuilder {
constructor(_injector: ng.Injector);
/**
* Overrides only the html of a {@link ComponentMetadata}.
* All the other properties of the component's {@link ng.ViewMetadata} are preserved.
*
* @param {ng.Type} component
* @param {string} html
*
* @return {TestComponentBuilder}
*/
overrideTemplate(componentType: ng.Type, template: string): TestComponentBuilder;
/**
* Overrides a component's {@link ng.ViewMetadata}.
*
* @param {ng.Type} component
* @param {view} View
*
* @return {TestComponentBuilder}
*/
overrideView(componentType: ng.Type, view: ng.ViewMetadata): TestComponentBuilder;
/**
* Overrides the directives from the component {@link ng.ViewMetadata}.
*
* @param {ng.Type} component
* @param {ng.Type} from
* @param {ng.Type} to
*
* @return {TestComponentBuilder}
*/
overrideDirective(componentType: ng.Type, from: ng.Type, to: ng.Type): TestComponentBuilder;
/**
* Overrides one or more injectables configured via `bindings` metadata property of a directive or
* component.
* Very useful when certain bindings need to be mocked out.
*
* The bindings specified via this method are appended to the existing `bindings` causing the
* duplicated bindings to
* be overridden.
*
* @param {ng.Type} component
* @param {any[]} bindings
*
* @return {TestComponentBuilder}
*/
overrideBindings(type: ng.Type, bindings: any[]): TestComponentBuilder;
/**
* Overrides one or more injectables configured via `bindings` metadata property of a directive or
* component.
* Very useful when certain bindings need to be mocked out.
*
* The bindings specified via this method are appended to the existing `bindings` causing the
* duplicated bindings to
* be overridden.
*
* @param {ng.Type} component
* @param {any[]} bindings
*
* @return {TestComponentBuilder}
*/
overrideViewBindings(type: ng.Type, bindings: any[]): TestComponentBuilder;
/**
* Builds and returns a RootTestComponent.
*
* @return {Promise<RootTestComponent>}
*/
createAsync(rootComponentType: ng.Type): Promise<RootTestComponent>;
}
function createTestInjector(bindings: Array<ng.Type | ng.Binding | any[]>): ng.Injector;
class FunctionWithParamTokens {
constructor(_tokens: any[], _fn: Function);
/**
* Returns the value of the executed function.
*/
execute(injector: ng.Injector): any;
hasToken(token: any): boolean;
}
/**
* Wraps a function to be executed in the fakeAsync zone:
* - microtasks are manually executed by calling `flushMicrotasks()`,
* - timers are synchronous, `tick()` simulates the asynchronous passage of time.
*
* If there are any pending timers at the end of the function, an exception will be thrown.
*
* @param fn
* @returns {Function} The function wrapped to be executed in the fakeAsync zone
*/
function fakeAsync(fn: Function): Function;
function clearPendingTimers(): void;
/**
* Simulates the asynchronous passage of time for the timers in the fakeAsync zone.
*
* The microtasks queue is drained at the very start of this function and after any timer callback
* has been executed.
*
* @param {number} millis Number of millisecond, defaults to 0
*/
function tick(millis?: number): void;
/**
* Flush any pending microtasks.
*/
function flushMicrotasks(): void;
class Log {
constructor();
add(value: any): void;
fn(value: any): void;
clear(): void;
result(): string;
}
class BrowserDetection {
constructor(ua: string);
isFirefox: boolean;
isAndroid: boolean;
isEdge: boolean;
isIE: boolean;
isWebkit: boolean;
isIOS7: boolean;
isSlow: boolean;
supportsIntlApi: boolean;
}
var browserDetection: BrowserDetection;
function dispatchEvent(element: any, eventType: any): void;
function el(html: string): HTMLElement;
function containsRegexp(input: string): RegExp;
function normalizeCSS(css: string): string;
function stringifyElement(el: any): string;
var RootTestComponent: ng.InjectableReference;
}
declare module "angular2/test_lib" {
export = ngTestLib;
}
+7
View File
@@ -406,6 +406,12 @@ declare module freedom.PgpProvider {
interface PublicKey {
key: string;
fingerprint: string;
words: string[];
}
interface KeyFingerprint {
fingerprint: string;
words: string[];
}
interface VerifyDecryptResult {
@@ -418,6 +424,7 @@ declare module freedom.PgpProvider {
setup(passphrase: string, userid: string): Promise<void>;
clear(): Promise<void>;
exportKey(): Promise<PublicKey>;
getFingerprint(publicKey: string): Promise<KeyFingerprint>;
signEncrypt(data: ArrayBuffer, encryptKey?: string,
sign?: boolean): Promise<ArrayBuffer>;
verifyDecrypt(data: ArrayBuffer,
+68 -28
View File
@@ -2265,6 +2265,20 @@ var testCloneDeepCustomizerFn: TestCloneDeepCustomizerFn;
result = _({a: {b: 2}}).cloneDeep(testCloneDeepCustomizerFn, any);
}
// _.eq
module TestEq {
let customizer: (value: any, other: any, indexOrKey?: number|string) => boolean;
let result: boolean;
result = _.eq(any, any);
result = _.eq(any, any, customizer);
result = _.eq(any, any, customizer, any);
result = _(any).eq(any);
result = _(any).eq(any, customizer);
result = _(any).eq(any, customizer, any)
}
// _.gt
result = <boolean>_.gt(1, 2);
result = <boolean>_(1).gt(2);
@@ -2315,6 +2329,20 @@ result = <boolean>_([1, 2, 3]).isEmpty();
result = <boolean>_({}).isEmpty();
result = <boolean>_('').isEmpty();
// _.isEqual
module TestIsEqual {
let customizer: (value: any, other: any, indexOrKey?: number|string) => boolean;
let result: boolean;
result = _.isEqual(any, any);
result = _.isEqual(any, any, customizer);
result = _.isEqual(any, any, customizer, any);
result = _(any).isEqual(any);
result = _(any).isEqual(any, customizer);
result = _(any).isEqual(any, customizer, any)
}
// _.isError
result = <boolean>_.isError(any);
result = <boolean>_(1).isError();
@@ -2711,9 +2739,46 @@ module TestFindKey {
}
}
result = <string>_.findLastKey({ 'a': 1, 'b': 2, 'c': 3, 'd': 4 }, function (num) {
return num % 2 == 1;
});
// _.findLastKey
module TestFindLastKey {
let result: string;
{
let predicateFn: (value: any, key?: string, object?: {}) => boolean;
result = _.findLastKey<{a: string;}>({a: ''});
result = _.findLastKey<{a: string;}>({a: ''}, predicateFn);
result = _.findLastKey<{a: string;}>({a: ''}, predicateFn, any);
result = _.findLastKey<{a: string;}>({a: ''}, '');
result = _.findLastKey<{a: string;}>({a: ''}, '', any);
result = _.findLastKey<{a: number;}, {a: string;}>({a: ''}, {a: 42});
result = _<{a: string;}>({a: ''}).findLastKey();
result = _<{a: string;}>({a: ''}).findLastKey(predicateFn);
result = _<{a: string;}>({a: ''}).findLastKey(predicateFn, any);
result = _<{a: string;}>({a: ''}).findLastKey('');
result = _<{a: string;}>({a: ''}).findLastKey('', any);
result = _<{a: string;}>({a: ''}).findLastKey<{a: number;}>({a: 42});
}
{
let predicateFn: (value: string, key?: string, collection?: _.Dictionary<string>) => boolean;
result = _.findLastKey<string, {a: string;}>({a: ''}, predicateFn);
result = _.findLastKey<string, {a: string;}>({a: ''}, predicateFn, any);
result = _<{a: string;}>({a: ''}).findLastKey<string>(predicateFn);
result = _<{a: string;}>({a: ''}).findLastKey<string>(predicateFn, any);
}
}
result = <Dog>_.forIn(new Dog('Dagny'), function (value, key) {
console.log(key);
@@ -2793,31 +2858,6 @@ result = <boolean>_({}).has(['', 42, true]);
result = _({}).invert<TResult>(true).value();
}
// _.isEqual (alias: _.eq)
result = <boolean>_.isEqual(1, 1);
result = <boolean>_(1).isEqual(1);
result = <boolean>_.eq(1, 1);
result = <boolean>_(1).eq(1);
var testEqObject = { 'user': 'fred' };
var testEqOtherObject = { 'user': 'fred' };
result = <boolean>_.isEqual(testEqObject, testEqOtherObject);
result = <boolean>_(testEqObject).isEqual(testEqOtherObject);
result = <boolean>_.eq(testEqObject, testEqOtherObject);
result = <boolean>_(testEqObject).eq(testEqOtherObject);
var testEqArray = ['hello', 'goodbye'];
var testEqOtherArray = ['hi', 'goodbye'];
var testEqCustomizerFn = (value: any, other: any): boolean => {
if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {
return true;
}
};
result = <boolean>_.isEqual(testEqArray, testEqOtherArray, testEqCustomizerFn);
result = <boolean>_(testEqArray).isEqual(testEqOtherArray, testEqCustomizerFn);
result = <boolean>_.eq(testEqArray, testEqOtherArray, testEqCustomizerFn);
result = <boolean>_(testEqArray).eq(testEqOtherArray, testEqCustomizerFn);
class Stooge {
constructor(
public name: string,
+143 -102
View File
@@ -6602,6 +6602,30 @@ declare module _ {
thisArg?: any): T;
}
//_.eq
interface LoDashStatic {
/**
* @see _.isEqual
*/
eq(
value: any,
other: any,
customizer?: IsEqualCustomizer,
thisArg?: any
): boolean;
}
interface LoDashWrapperBase<T, TWrapper> {
/**
* @see _.isEqual
*/
eq(
other: any,
customizer?: IsEqualCustomizer,
thisArg?: any
): boolean;
}
//_.gt
interface LoDashStatic {
/**
@@ -6741,6 +6765,49 @@ declare module _ {
isEmpty(): boolean;
}
//_.isEqual
interface IsEqualCustomizer {
(value: any, other: any, indexOrKey?: number|string): boolean;
}
interface LoDashStatic {
/**
* Performs a deep comparison between two values to determine if they are equivalent. If customizer is
* provided its invoked to compare values. If customizer returns undefined comparisons are handled by the
* method instead. The customizer is bound to thisArg and invoked with up to three arguments: (value, other
* [, index|key]).
*
* Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes,
* and strings. Objects are compared by their own, not inherited, enumerable properties. Functions and DOM
* nodes are not supported. Provide a customizer function to extend support for comparing other values.
*
* @alias _.eq
*
* @param value The value to compare.
* @param other The other value to compare.
* @param customizer The function to customize value comparisons.
* @param thisArg The this binding of customizer.
* @return Returns true if the values are equivalent, else false.
*/
isEqual(
value: any,
other: any,
customizer?: IsEqualCustomizer,
thisArg?: any
): boolean;
}
interface LoDashWrapperBase<T, TWrapper> {
/**
* @see _.isEqual
*/
isEqual(
other: any,
customizer?: IsEqualCustomizer,
thisArg?: any
): boolean;
}
//_.isError
interface LoDashStatic {
/**
@@ -7763,32 +7830,86 @@ declare module _ {
//_.findLastKey
interface LoDashStatic {
/**
* This method is like _.findKey except that it iterates over elements of a collection in the opposite order.
* @param object The object to search.
* @param callback The function called per iteration.
* @param thisArg The this binding of callback.
* @return The key of the found element, else undefined.
**/
findLastKey(
object: any,
callback: (value: any) => boolean,
thisArg?: any): string;
* This method is like _.findKey except that it iterates over elements of a collection in the opposite order.
*
* If a property name is provided for predicate the created _.property style callback returns the property
* value of the given element.
*
* If a value is also provided for thisArg the created _.matchesProperty style callback returns true for
* elements that have a matching property value, else false.
*
* If an object is provided for predicate the created _.matches style callback returns true for elements that
* have the properties of the given object, else false.
*
* @param object The object to search.
* @param predicate The function invoked per iteration.
* @param thisArg The this binding of predicate.
* @return Returns the key of the matched element, else undefined.
*/
findLastKey<TValues, TObject>(
object: TObject,
predicate?: DictionaryIterator<TValues, boolean>,
thisArg?: any
): string;
/**
* @see _.findLastKey
* @param pluckValue _.pluck style callback
**/
findLastKey(
object: any,
pluckValue: string): string;
* @see _.findLastKey
*/
findLastKey<TObject>(
object: TObject,
predicate?: ObjectIterator<any, boolean>,
thisArg?: any
): string;
/**
* @see _.findLastKey
* @param whereValue _.where style callback
**/
findLastKey<W extends Dictionary<any>, T>(
object: T,
whereValue: W): string;
* @see _.findLastKey
*/
findLastKey<TObject>(
object: TObject,
predicate?: string,
thisArg?: any
): string;
/**
* @see _.findLastKey
*/
findLastKey<TWhere extends Dictionary<any>, TObject>(
object: TObject,
predicate?: TWhere
): string;
}
interface LoDashObjectWrapper<T> {
/**
* @see _.findLastKey
*/
findLastKey<TValues>(
predicate?: DictionaryIterator<TValues, boolean>,
thisArg?: any
): string;
/**
* @see _.findLastKey
*/
findLastKey(
predicate?: ObjectIterator<any, boolean>,
thisArg?: any
): string;
/**
* @see _.findLastKey
*/
findLastKey(
predicate?: string,
thisArg?: any
): string;
/**
* @see _.findLastKey
*/
findLastKey<TWhere extends Dictionary<any>>(
predicate?: TWhere
): string;
}
//_.forIn
@@ -8016,86 +8137,6 @@ declare module _ {
invert<TResult extends {}>(multiValue?: boolean): LoDashObjectWrapper<TResult>;
}
//_.isEqual
interface EqCustomizer {
(value: any, other: any, indexOrKey?: number|string): boolean;
}
interface LoDashStatic {
/**
* Performs a deep comparison between two values to determine if they are equivalent. If customizer is
* provided it is invoked to compare values. If customizer returns undefined comparisons are handled
* by the method instead. The customizer is bound to thisArg and invoked with three
* arguments: (value, other [, index|key]).
* @param value The value to compare.
* @param other The other value to compare.
* @param callback The function to customize value comparisons.
* @param thisArg The this binding of customizer.
* @return True if the values are equivalent, else false.
*/
isEqual(value?: any,
other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
/**
* @see _.isEqual
*/
eq(value?: any,
other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
}
interface LoDashWrapper<T> {
/**
* @see _.isEqual
*/
isEqual(other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
/**
* @see _.isEqual
*/
eq(other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
}
interface LoDashArrayWrapper<T> {
/**
* @see _.isEqual
*/
isEqual(other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
/**
* @see _.isEqual
*/
eq(other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
}
interface LoDashObjectWrapper<T> {
/**
* @see _.isEqual
*/
isEqual(other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
/**
* @see _.isEqual
*/
eq(other?: any,
callback?: EqCustomizer,
thisArg?: any): boolean;
}
//_.keys
interface LoDashStatic {
/**
+1 -1
View File
@@ -43,7 +43,7 @@ declare module Redux {
function createStore(reducer: Reducer, initialState?: any): Store;
function bindActionCreators<T>(actionCreators: T, dispatch: Dispatch): T;
function combineReducers(reducers: any): Reducer;
function applyMiddleware(...middleware: Middleware[]): Function;
function applyMiddleware(...middlewares: Middleware[]): Function;
function compose<T extends Function>(...functions: Function[]): T;
}
+2 -2
View File
@@ -734,13 +734,13 @@ declare module uiGrid {
* to load when scrolling up
* @default false
*/
infiniteScrollUp?: boolean,
infiniteScrollUp?: boolean;
/**
* Inform the grid of whether there are rows
* to load scrolling down
* @default true
*/
infiniteScrollDown?: boolean,
infiniteScrollDown?: boolean;
/**
* Defaults to 200
* @default 200