diff --git a/codemirror/showhint-tests.ts b/codemirror/showhint-tests.ts
new file mode 100644
index 000000000..b7378e0d6
--- /dev/null
+++ b/codemirror/showhint-tests.ts
@@ -0,0 +1,33 @@
+///
+///
+var doc = new CodeMirror.Doc('text');
+var pos = new CodeMirror.Pos(2, 3);
+CodeMirror.showHint(doc);
+CodeMirror.showHint(doc, function (cm) {
+ return {
+ from: pos,
+ list: ["one", "two"],
+ to: pos
+ };
+});
+CodeMirror.showHint(doc, function (cm) {
+ return {
+ from: pos,
+ list: [
+ {
+ text: "disp1",
+ render: function (el, self, data) {
+ ;
+ }
+ },
+ {
+ className: "class2",
+ displayText: "disp2",
+ from: pos,
+ to: pos,
+ text: "sometext"
+ }
+ ],
+ to: pos
+ };
+});
diff --git a/codemirror/showhint.d.ts b/codemirror/showhint.d.ts
new file mode 100644
index 000000000..340871db4
--- /dev/null
+++ b/codemirror/showhint.d.ts
@@ -0,0 +1,62 @@
+// Type definitions for CodeMirror
+// Project: https://github.com/marijnh/CodeMirror
+// Definitions by: jacqt
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module CodeMirror {
+ var commands : any;
+
+ /** Provides a framework for showing autocompletion hints. Defines editor.showHint, which takes an optional
+ options object, and pops up a widget that allows the user to select a completion. Finding hints is done with
+ a hinting functions (the hint option), which is a function that take an editor instance and options object,
+ and return a {list, from, to} object, where list is an array of strings or objects (the completions), and
+ from and to give the start and end of the token that is being completed as {line, ch} objects. An optional
+ selectedHint property (an integer) can be added to the completion object to control the initially selected hint. */
+ function showHint (cm: CodeMirror.Doc, hinter?: (doc : CodeMirror.Doc) => Hints, options?: IShowHintOptions) : void;
+
+
+ interface Hints {
+ from: Position;
+ to: Position;
+ list: Hint[] | string[];
+ }
+
+ /** Interface used by showHint.js Codemirror add-on
+ When completions aren't simple strings, they should be objects with the following properties: */
+ interface Hint {
+ text: string;
+ className?: string;
+ displayText?: string;
+ from?: Position;
+ render?: (element: any, self: any, data: any) => void;
+ to?: Position;
+ }
+
+ interface Editor {
+ /** An extension of the existing CodeMirror typings for the Editor.on("keyup", func) syntax */
+ on(eventName: string, handler: (doc: CodeMirror.Doc, event : any ) => void ): void;
+ off(eventName: string, handler: (doc: CodeMirror.Doc, event : any) => void ): void;
+ }
+
+ /** Extend CodeMirror.Doc with a state object, so that the Doc.state.completionActive property is reachable*/
+ interface Doc {
+ state: any;
+ showHint: (options: IShowHintOptions) => void;
+ }
+
+ interface IShowHintOptions {
+ completeSingle: boolean;
+ hint: (doc : CodeMirror.Doc) => Hints;
+ }
+
+ /** The Handle used to interact with the autocomplete dialog box.*/
+ interface Handle {
+ moveFocus(n: number, avoidWrap: boolean): void;
+ setFocus(n: number): void;
+ menuSize(): number;
+ length: number;
+ close(): void;
+ pick(): void;
+ data: any;
+ }
+}
diff --git a/gulp-espower/gulp-espower-tests.ts b/gulp-espower/gulp-espower-tests.ts
new file mode 100644
index 000000000..9240ee82d
--- /dev/null
+++ b/gulp-espower/gulp-espower-tests.ts
@@ -0,0 +1,15 @@
+///
+///
+
+
+import espower = require('gulp-espower');
+import * as gulp from 'gulp';
+
+gulp.src('src/*.coffee')
+ .pipe(espower())
+ .pipe(gulp.dest('out'));
+
+
+gulp.src('src/*.coffee')
+ .pipe(espower({ patterns: ['assert(value, [message])'] }))
+ .pipe(gulp.dest('out'));
diff --git a/gulp-espower/gulp-espower.d.ts b/gulp-espower/gulp-espower.d.ts
new file mode 100644
index 000000000..984afad9c
--- /dev/null
+++ b/gulp-espower/gulp-espower.d.ts
@@ -0,0 +1,27 @@
+// Type definitions for gulp-espower
+// Project: https://github.com/power-assert-js/gulp-espower
+// Definitions by: Qubo
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module "gulp-espower" {
+
+ namespace espower {
+ interface Espower {
+ /**
+ * @param options Target patterns for power assert feature instrumentation.
+ */
+ (options?: Options): NodeJS.ReadWriteStream;
+ }
+
+ interface Options {
+ patterns: string[];
+ }
+ }
+
+ var espower: espower.Espower;
+
+ export = espower;
+}
+
diff --git a/gulp-istanbul/gulp-istanbul-tests.ts b/gulp-istanbul/gulp-istanbul-tests.ts
index 0d64b53d0..aada03de1 100644
--- a/gulp-istanbul/gulp-istanbul-tests.ts
+++ b/gulp-istanbul/gulp-istanbul-tests.ts
@@ -7,7 +7,7 @@ function testFramework(): NodeJS.ReadWriteStream {
return null;
}
-gulp.task('test', function (cb) {
+gulp.task('test', function (cb: Function) {
gulp.src(['lib/**/*.js', 'main.js'])
.pipe(istanbul()) // Covering files
.pipe(gulp.dest('test-tmp/'))
@@ -19,7 +19,7 @@ gulp.task('test', function (cb) {
});
});
-gulp.task('test', function (cb) {
+gulp.task('test', function (cb: Function) {
gulp.src(['lib/**/*.js', 'main.js'])
.pipe(istanbul({includeUntested: true})) // Covering files
.pipe(istanbul.hookRequire())
@@ -31,7 +31,7 @@ gulp.task('test', function (cb) {
});
});
-gulp.task('test', function (cb) {
+gulp.task('test', function (cb: Function) {
gulp.src(['lib/**/*.js', 'main.js'])
.pipe(istanbul({includeUntested: true})) // Covering files
.pipe(istanbul.hookRequire())
@@ -42,4 +42,4 @@ gulp.task('test', function (cb) {
.pipe(istanbul.enforceThresholds({ thresholds: { global: 90 } })) //
.on('end', cb);
});
-});
\ No newline at end of file
+});
diff --git a/gulp-protractor/gulp-protractor.d.ts b/gulp-protractor/gulp-protractor.d.ts
index d0317e2e2..fd98dbd43 100644
--- a/gulp-protractor/gulp-protractor.d.ts
+++ b/gulp-protractor/gulp-protractor.d.ts
@@ -7,6 +7,8 @@
///
declare module 'gulp-protractor' {
+ import gulp = require('gulp');
+
interface IOptions {
configFile?: string;
args?: Array;
@@ -16,8 +18,8 @@ declare module 'gulp-protractor' {
interface IGulpProtractor {
getProtractorDir(): string;
protractor(options?: IOptions): NodeJS.ReadWriteStream;
- webdriver_standalone: gulp.ITaskCallback;
- webdriver_update: gulp.ITaskCallback;
+ webdriver_standalone: gulp.TaskCallback;
+ webdriver_update: gulp.TaskCallback;
}
var protractor: IGulpProtractor;
diff --git a/gulp-tsd/gulp-tsd-tests.ts b/gulp-tsd/gulp-tsd-tests.ts
index 9475ace65..a7c20519c 100644
--- a/gulp-tsd/gulp-tsd-tests.ts
+++ b/gulp-tsd/gulp-tsd-tests.ts
@@ -9,7 +9,7 @@ gulp.task("tsd", () => {
.pipe(tsd());
});
-gulp.task("tsd:options", callback => {
+gulp.task("tsd:options", (callback: any) => {
tsd({
command: "reinstall",
config: "tsd.json"
diff --git a/gulp-tsd/gulp-tsd.d.ts b/gulp-tsd/gulp-tsd.d.ts
index 68a4c6728..816d50d25 100644
--- a/gulp-tsd/gulp-tsd.d.ts
+++ b/gulp-tsd/gulp-tsd.d.ts
@@ -7,6 +7,7 @@
///
declare module "gulp-tsd" {
+ import gulp = require('gulp');
interface IOptions {
command?: string;
@@ -15,7 +16,7 @@ declare module "gulp-tsd" {
opts?: Object;
}
- function tsd(opts?: IOptions, callback?: gulp.ITaskCallback): NodeJS.ReadWriteStream;
+ function tsd(opts?: IOptions, callback?: gulp.TaskCallback): NodeJS.ReadWriteStream;
export = tsd;
}
diff --git a/gulp-watch/gulp-watch-tests.ts b/gulp-watch/gulp-watch-tests.ts
index 9d9303ac2..dd237dccc 100644
--- a/gulp-watch/gulp-watch-tests.ts
+++ b/gulp-watch/gulp-watch-tests.ts
@@ -10,7 +10,7 @@ gulp.task('stream', () =>
.pipe(gulp.dest('build'))
);
-gulp.task('callback', (cb) =>
+gulp.task('callback', (cb: Function) =>
watch('css/**/*.css', () =>
gulp.src('css/**/*.css')
.pipe(watch('css/**/*.css'))
diff --git a/gulp/gulp-tests.ts b/gulp/gulp-tests.ts
index 07a92fc91..d00690881 100644
--- a/gulp/gulp-tests.ts
+++ b/gulp/gulp-tests.ts
@@ -4,8 +4,8 @@
import gulp = require("gulp");
import browserSync = require("browser-sync");
-var typescript: IGulpPlugin = null; // this would be the TypeScript compiler
-var jasmine: IGulpPlugin = null; // this would be the jasmine test runner
+var typescript: gulp.GulpPlugin = null; // this would be the TypeScript compiler
+var jasmine: gulp.GulpPlugin = null; // this would be the jasmine test runner
gulp.task('compile', function()
{
@@ -31,6 +31,7 @@ gulp.task('test', ['compile', 'compile2'], function()
gulp.task('default', ['compile', 'test']);
+
var opts = {};
gulp.watch('*.html', 'compile');
@@ -66,3 +67,5 @@ gulp.task('serve', ['compile'], () => {
var browser = browserSync.create();
gulp.watch(['*.html', '*.ts'], ['compile', browser.reload]);
});
+
+gulp.start('test', 'compile');
diff --git a/gulp/gulp.d.ts b/gulp/gulp.d.ts
index 13c12a811..160ee99ce 100644
--- a/gulp/gulp.d.ts
+++ b/gulp/gulp.d.ts
@@ -4,268 +4,287 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
///
-
-declare module gulp {
-
- /**
- * Options to pass to node-glob through glob-stream.
- * Specifies two options in addition to those used by node-glob:
- * https://github.com/isaacs/node-glob#options
- */
- interface ISrcOptions {
- /**
- * Setting this to false will return file.contents as null
- * and not read the file at all.
- * Default: true.
- */
- read?: boolean;
-
- /**
- * Setting this to false will return file.contents as a stream and not buffer files.
- * This is useful when working with large files.
- * Note: Plugins might not implement support for streams.
- * Default: true.
- */
- buffer?: boolean;
-
- /**
- * The base path of a glob.
- *
- * Default is everything before a glob starts.
- */
- base?: string;
-
- /**
- * The current working directory in which to search.
- * Defaults to process.cwd().
- */
- cwd?: string;
-
- /**
- * The place where patterns starting with / will be mounted onto.
- * Defaults to path.resolve(options.cwd, "/") (/ on Unix systems, and C:\ or some such on Windows.)
- */
- root?: string;
-
- /**
- * Include .dot files in normal matches and globstar matches.
- * Note that an explicit dot in a portion of the pattern will always match dot files.
- */
- dot?: boolean;
-
- /**
- * By default, a pattern starting with a forward-slash will be "mounted" onto the root setting, so that a valid
- * filesystem path is returned. Set this flag to disable that behavior.
- */
- nomount?: boolean;
-
- /**
- * Add a / character to directory matches. Note that this requires additional stat calls.
- */
- mark?: boolean;
-
- /**
- * Don't sort the results.
- */
- nosort?: boolean;
-
- /**
- * Set to true to stat all results. This reduces performance somewhat, and is completely unnecessary, unless
- * readdir is presumed to be an untrustworthy indicator of file existence. It will cause ELOOP to be triggered one
- * level sooner in the case of cyclical symbolic links.
- */
- stat?: boolean;
-
- /**
- * When an unusual error is encountered when attempting to read a directory, a warning will be printed to stderr.
- * Set the silent option to true to suppress these warnings.
- */
- silent?: boolean;
-
- /**
- * When an unusual error is encountered when attempting to read a directory, the process will just continue on in
- * search of other matches. Set the strict option to raise an error in these cases.
- */
- strict?: boolean;
-
- /**
- * See cache property above. Pass in a previously generated cache object to save some fs calls.
- */
- cache?: boolean;
-
- /**
- * A cache of results of filesystem information, to prevent unnecessary stat calls.
- * While it should not normally be necessary to set this, you may pass the statCache from one glob() call to the
- * options object of another, if you know that the filesystem will not change between calls.
- */
- statCache?: boolean;
-
- /**
- * Perform a synchronous glob search.
- */
- sync?: boolean;
-
- /**
- * In some cases, brace-expanded patterns can result in the same file showing up multiple times in the result set.
- * By default, this implementation prevents duplicates in the result set. Set this flag to disable that behavior.
- */
- nounique?: boolean;
-
- /**
- * Set to never return an empty set, instead returning a set containing the pattern itself.
- * This is the default in glob(3).
- */
- nonull?: boolean;
-
- /**
- * Perform a case-insensitive match. Note that case-insensitive filesystems will sometimes result in glob returning
- * results that are case-insensitively matched anyway, since readdir and stat will not raise an error.
- */
- nocase?: boolean;
-
- /**
- * Set to enable debug logging in minimatch and glob.
- */
- debug?: boolean;
-
- /**
- * Set to enable debug logging in glob, but not minimatch.
- */
- globDebug?: boolean;
- }
-
- interface IDestOptions {
- /**
- * The output folder. Only has an effect if provided output folder is relative.
- * Default: process.cwd()
- */
- cwd?: string;
-
- /**
- * Octal permission string specifying mode for any folders that need to be created for output folder.
- * Default: 0777.
- */
- mode?: string;
- }
-
- /**
- * Options that are passed to gaze.
- * https://github.com/shama/gaze
- */
- interface IWatchOptions {
- /** Interval to pass to fs.watchFile. */
- interval?: number;
- /** Delay for events called in succession for the same file/event. */
- debounceDelay?: number;
- /** Force the watch mode. Either 'auto' (default), 'watch' (force native events), or 'poll' (force stat polling). */
- mode?: string;
- /** The current working directory to base file patterns from. Default is process.cwd().. */
- cwd?: string;
- }
-
- interface IWatchEvent {
- /** The type of change that occurred, either added, changed or deleted. */
- type: string;
- /** The path to the file that triggered the event. */
- path: string;
- }
-
- /**
- * Callback to be called on each watched file change.
- */
- interface IWatchCallback {
- (event:IWatchEvent): void;
- }
-
- interface ITaskCallback {
- /**
- * Defines a task.
- * Tasks may be made asynchronous if they are passing a callback or return a promise or a stream.
- * @param cb callback used to signal asynchronous completion. Caller includes err in case of error.
- */
- (cb?:(err?:any)=>void): any;
- }
-
- interface EventEmitter {
- any: any;
- }
-
- interface Gulp {
- /**
- * Define a task.
- *
- * @param name the name of the task. Tasks that you want to run from the command line should not have spaces in them.
- * @param fn the function that performs the task's operations. Generally this takes the form of gulp.src().pipe(someplugin()).
- */
- task(name:string, fn:ITaskCallback): any;
-
- /**
- * Define a task.
- *
- * @param name the name of the task. Tasks that you want to run from the command line should not have spaces in them.
- * @param dep an array of tasks to be executed and completed before your task will run.
- * @param fn the function that performs the task's operations. Generally this takes the form of gulp.src().pipe(someplugin()).
- */
- task(name:string, dep:string[], fn?:ITaskCallback): any;
-
-
- /**
- * Takes a glob and represents a file structure. Can be piped to plugins.
- * @param glob a glob string, using node-glob syntax
- * @param opt an optional option object
- */
- src(glob:string, opt?:ISrcOptions): NodeJS.ReadWriteStream;
-
- /**
- * Takes a glob and represents a file structure. Can be piped to plugins.
- * @param glob an array of glob strings, using node-glob syntax
- * @param opt an optional option object
- */
- src(glob:string[], opt?:ISrcOptions): NodeJS.ReadWriteStream;
-
-
- /**
- * Can be piped to and it will write files. Re-emits all data passed to it so you can pipe to multiple folders.
- * Folders that don't exist will be created.
- *
- * @param outFolder the path (output folder) to write files to.
- * @param opt
- */
- dest(outFolder:string, opt?:IDestOptions): NodeJS.ReadWriteStream;
-
- /**
- * Can be piped to and it will write files. Re-emits all data passed to it so you can pipe to multiple folders.
- * Folders that don't exist will be created.
- *
- * @param outFolder a function that converts a vinyl File instance into an output path
- * @param opt
- */
- dest(outFolder:(file:string)=>string, opt?:IDestOptions): NodeJS.ReadWriteStream;
-
-
- /**
- * Watch files and do something when a file changes. This always returns an EventEmitter that emits change events.
- *
- * @param glob a single glob or array of globs that indicate which files to watch for changes.
- * @param opt options, that are passed to the gaze library.
- * @param fn a callback or array of callbacks to be called on each change, or names of task(s) to run when a file changes, added with gulp.task().
- */
- watch(glob:string, fn:(IWatchCallback|string)): EventEmitter;
- watch(glob:string, fn:(IWatchCallback|string)[]): EventEmitter;
- watch(glob:string, opt:IWatchOptions, fn:(IWatchCallback|string)): EventEmitter;
- watch(glob:string, opt:IWatchOptions, fn:(IWatchCallback|string)[]): EventEmitter;
- watch(glob:string[], fn:(IWatchCallback|string)): EventEmitter;
- watch(glob:string[], fn:(IWatchCallback|string)[]): EventEmitter;
- watch(glob:string[], opt:IWatchOptions, fn:(IWatchCallback|string)): EventEmitter;
- watch(glob:string[], opt:IWatchOptions, fn:(IWatchCallback|string)[]): EventEmitter;
- }
-}
+///
declare module "gulp" {
- var _tmp:gulp.Gulp;
- export = _tmp;
-}
+ import Orchestrator = require("orchestrator");
-interface IGulpPlugin {
- (...args: any[]): NodeJS.ReadWriteStream;
+ namespace gulp {
+ interface Gulp extends Orchestrator {
+ /**
+ * Define a task
+ * @param name The name of the task.
+ * @param deps An array of task names to be executed and completed before your task will run.
+ * @param fn The function that performs the task's operations. For asynchronous tasks, you need to provide a hint when the task is complete:
+ *
+ * - Take in a callback
+ * - Return a stream or a promise
+ *
+ */
+ task: Orchestrator.AddMethod;
+ /**
+ * Emits files matching provided glob or an array of globs. Returns a stream of Vinyl files that can be piped to plugins.
+ * @param glob Glob or array of globs to read.
+ * @param opt Options to pass to node-glob through glob-stream.
+ */
+ src: SrcMethod;
+ /**
+ * Can be piped to and it will write files. Re-emits all data passed to it so you can pipe to multiple folders.
+ * Folders that don't exist will be created.
+ *
+ * @param outFolder The path (output folder) to write files to. Or a function that returns it, the function will be provided a vinyl File instance.
+ * @param opt
+ */
+ dest: DestMethod;
+ /**
+ * Watch files and do something when a file changes. This always returns an EventEmitter that emits change events.
+ *
+ * @param glob a single glob or array of globs that indicate which files to watch for changes.
+ * @param opt options, that are passed to the gaze library.
+ * @param fn a callback or array of callbacks to be called on each change, or names of task(s) to run when a file changes, added with task().
+ */
+ watch: WatchMethod;
+ }
+
+ interface GulpPlugin {
+ (...args: any[]): NodeJS.ReadWriteStream;
+ }
+
+ interface WatchMethod {
+ /**
+ * Watch files and do something when a file changes. This always returns an EventEmitter that emits change events.
+ *
+ * @param glob a single glob or array of globs that indicate which files to watch for changes.
+ * @param fn a callback or array of callbacks to be called on each change, or names of task(s) to run when a file changes, added with task().
+ */
+ (glob: string|string[], fn: (WatchCallback|string)): NodeJS.EventEmitter;
+ /**
+ * Watch files and do something when a file changes. This always returns an EventEmitter that emits change events.
+ *
+ * @param glob a single glob or array of globs that indicate which files to watch for changes.
+ * @param fn a callback or array of callbacks to be called on each change, or names of task(s) to run when a file changes, added with task().
+ */
+ (glob: string|string[], fn: (WatchCallback|string)[]): NodeJS.EventEmitter;
+ /**
+ * Watch files and do something when a file changes. This always returns an EventEmitter that emits change events.
+ *
+ * @param glob a single glob or array of globs that indicate which files to watch for changes.
+ * @param opt options, that are passed to the gaze library.
+ * @param fn a callback or array of callbacks to be called on each change, or names of task(s) to run when a file changes, added with task().
+ */
+ (glob: string|string[], opt: WatchOptions, fn: (WatchCallback|string)): NodeJS.EventEmitter;
+ /**
+ * Watch files and do something when a file changes. This always returns an EventEmitter that emits change events.
+ *
+ * @param glob a single glob or array of globs that indicate which files to watch for changes.
+ * @param opt options, that are passed to the gaze library.
+ * @param fn a callback or array of callbacks to be called on each change, or names of task(s) to run when a file changes, added with task().
+ */
+ (glob: string|string[], opt: WatchOptions, fn: (WatchCallback|string)[]): NodeJS.EventEmitter;
+
+ }
+
+ interface DestMethod {
+ /**
+ * Can be piped to and it will write files. Re-emits all data passed to it so you can pipe to multiple folders.
+ * Folders that don't exist will be created.
+ *
+ * @param outFolder The path (output folder) to write files to. Or a function that returns it, the function will be provided a vinyl File instance.
+ * @param opt
+ */
+ (outFolder: string|((file: string) => string), opt?: DestOptions): NodeJS.ReadWriteStream;
+ }
+
+ interface SrcMethod {
+ /**
+ * Emits files matching provided glob or an array of globs. Returns a stream of Vinyl files that can be piped to plugins.
+ * @param glob Glob or array of globs to read.
+ * @param opt Options to pass to node-glob through glob-stream.
+ */
+ (glob: string|string[], opt?: SrcOptions): NodeJS.ReadWriteStream;
+ }
+
+ /**
+ * Options to pass to node-glob through glob-stream.
+ * Specifies two options in addition to those used by node-glob:
+ * https://github.com/isaacs/node-glob#options
+ */
+ interface SrcOptions {
+ /**
+ * Setting this to false will return file.contents as null
+ * and not read the file at all.
+ * Default: true.
+ */
+ read?: boolean;
+
+ /**
+ * Setting this to false will return file.contents as a stream and not buffer files.
+ * This is useful when working with large files.
+ * Note: Plugins might not implement support for streams.
+ * Default: true.
+ */
+ buffer?: boolean;
+
+ /**
+ * The base path of a glob.
+ *
+ * Default is everything before a glob starts.
+ */
+ base?: string;
+
+ /**
+ * The current working directory in which to search.
+ * Defaults to process.cwd().
+ */
+ cwd?: string;
+
+ /**
+ * The place where patterns starting with / will be mounted onto.
+ * Defaults to path.resolve(options.cwd, "/") (/ on Unix systems, and C:\ or some such on Windows.)
+ */
+ root?: string;
+
+ /**
+ * Include .dot files in normal matches and globstar matches.
+ * Note that an explicit dot in a portion of the pattern will always match dot files.
+ */
+ dot?: boolean;
+
+ /**
+ * By default, a pattern starting with a forward-slash will be "mounted" onto the root setting, so that a valid
+ * filesystem path is returned. Set this flag to disable that behavior.
+ */
+ nomount?: boolean;
+
+ /**
+ * Add a / character to directory matches. Note that this requires additional stat calls.
+ */
+ mark?: boolean;
+
+ /**
+ * Don't sort the results.
+ */
+ nosort?: boolean;
+
+ /**
+ * Set to true to stat all results. This reduces performance somewhat, and is completely unnecessary, unless
+ * readdir is presumed to be an untrustworthy indicator of file existence. It will cause ELOOP to be triggered one
+ * level sooner in the case of cyclical symbolic links.
+ */
+ stat?: boolean;
+
+ /**
+ * When an unusual error is encountered when attempting to read a directory, a warning will be printed to stderr.
+ * Set the silent option to true to suppress these warnings.
+ */
+ silent?: boolean;
+
+ /**
+ * When an unusual error is encountered when attempting to read a directory, the process will just continue on in
+ * search of other matches. Set the strict option to raise an error in these cases.
+ */
+ strict?: boolean;
+
+ /**
+ * See cache property above. Pass in a previously generated cache object to save some fs calls.
+ */
+ cache?: boolean;
+
+ /**
+ * A cache of results of filesystem information, to prevent unnecessary stat calls.
+ * While it should not normally be necessary to set this, you may pass the statCache from one glob() call to the
+ * options object of another, if you know that the filesystem will not change between calls.
+ */
+ statCache?: boolean;
+
+ /**
+ * Perform a synchronous glob search.
+ */
+ sync?: boolean;
+
+ /**
+ * In some cases, brace-expanded patterns can result in the same file showing up multiple times in the result set.
+ * By default, this implementation prevents duplicates in the result set. Set this flag to disable that behavior.
+ */
+ nounique?: boolean;
+
+ /**
+ * Set to never return an empty set, instead returning a set containing the pattern itself.
+ * This is the default in glob(3).
+ */
+ nonull?: boolean;
+
+ /**
+ * Perform a case-insensitive match. Note that case-insensitive filesystems will sometimes result in glob returning
+ * results that are case-insensitively matched anyway, since readdir and stat will not raise an error.
+ */
+ nocase?: boolean;
+
+ /**
+ * Set to enable debug logging in minimatch and glob.
+ */
+ debug?: boolean;
+
+ /**
+ * Set to enable debug logging in glob, but not minimatch.
+ */
+ globDebug?: boolean;
+ }
+
+ interface DestOptions {
+ /**
+ * The output folder. Only has an effect if provided output folder is relative.
+ * Default: process.cwd()
+ */
+ cwd?: string;
+
+ /**
+ * Octal permission string specifying mode for any folders that need to be created for output folder.
+ * Default: 0777.
+ */
+ mode?: string;
+ }
+
+ /**
+ * Options that are passed to gaze.
+ * https://github.com/shama/gaze
+ */
+ interface WatchOptions {
+ /** Interval to pass to fs.watchFile. */
+ interval?: number;
+ /** Delay for events called in succession for the same file/event. */
+ debounceDelay?: number;
+ /** Force the watch mode. Either 'auto' (default), 'watch' (force native events), or 'poll' (force stat polling). */
+ mode?: string;
+ /** The current working directory to base file patterns from. Default is process.cwd().. */
+ cwd?: string;
+ }
+
+ interface WatchEvent {
+ /** The type of change that occurred, either added, changed or deleted. */
+ type: string;
+ /** The path to the file that triggered the event. */
+ path: string;
+ }
+
+ /**
+ * Callback to be called on each watched file change.
+ */
+ interface WatchCallback {
+ (event: WatchEvent): void;
+ }
+
+ interface TaskCallback {
+ /**
+ * Defines a task.
+ * Tasks may be made asynchronous if they are passing a callback or return a promise or a stream.
+ * @param cb callback used to signal asynchronous completion. Caller includes err in case of error.
+ */
+ (cb?: (err?: any) => void): any;
+ }
+ }
+
+ var gulp: gulp.Gulp;
+
+ export = gulp;
}
diff --git a/highcharts-ng/highcharts-ng-tests.ts b/highcharts-ng/highcharts-ng-tests.ts
new file mode 100644
index 000000000..5f05b3373
--- /dev/null
+++ b/highcharts-ng/highcharts-ng-tests.ts
@@ -0,0 +1,40 @@
+///
+///
+
+var app = angular.module('app', ['highcharts-ng']);
+
+class AppController {
+ chartConfig: HighChartsNGConfig = {
+ options: {
+ chart: {
+ type: 'bar'
+ },
+ tooltip: {
+ style: {
+ padding: 10,
+ fontWeight: 'bold'
+ }
+ },
+ credits: {
+ enabled: false
+ },
+ plotOptions: {}
+ },
+ series: [{
+ data: [10, 15, 12, 8, 7]
+ }],
+ title: {
+ text: 'My Awesome Chart'
+ },
+ loading: true
+ };
+ constructor($timeout: ng.ITimeoutService) {
+ var vm = this;
+ $timeout(function() {
+ //Some async action
+ vm.chartConfig.loading = false;
+ });
+ }
+}
+
+app.controller("AppController", AppController);
\ No newline at end of file
diff --git a/highcharts-ng/highcharts-ng.d.ts b/highcharts-ng/highcharts-ng.d.ts
new file mode 100644
index 000000000..d0a340559
--- /dev/null
+++ b/highcharts-ng/highcharts-ng.d.ts
@@ -0,0 +1,43 @@
+// Type definitions for highcharts-ng 0.0.8
+// Project: https://github.com/pablojim/highcharts-ng
+// Definitions by: Scott Hatcher
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+interface HighChartsNGConfig {
+ options: HighchartsChartOptions;
+ //The below properties are watched separately for changes.
+
+ //Series object (optional) - a list of series using normal highcharts series options.
+ series?: number[]|[number, number][]| HighchartsDataPoint[];
+ //Title configuration (optional)
+ title?: {
+ text?: string;
+ };
+ //Boolean to control showng loading status on chart (optional)
+ //Could be a string if you want to show specific loading text.
+ loading?: boolean;
+ //Configuration for the xAxis (optional). Currently only one x axis can be dynamically controlled.
+ //properties currentMin and currentMax provied 2-way binding to the chart's maximimum and minimum
+ xAxis?: {
+ currentMin?: number;
+ currentMax?: number;
+ title?: { text?: string }
+ },
+ //Whether to use HighStocks instead of HighCharts (optional). Defaults to false.
+ useHighStocks?: boolean;
+ //size (optional) if left out the chart will default to size of the div or something sensible.
+ size?: {
+ width?: number;
+ height?: number;
+ };
+ //function (optional) - setup some logic for the chart
+ func?: (chart: HighchartsChartObject) => void;
+}
+
+//Instantiated Chart
+interface HighChartsNGChart extends HighChartsNGConfig {
+ //This is a simple way to access all the Highcharts API that is not currently managed by this directive.
+ getHighcharts(): HighchartsChartObject;
+}
\ No newline at end of file
diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts
index bb7a66560..5fee08b29 100644
--- a/lodash/lodash-tests.ts
+++ b/lodash/lodash-tests.ts
@@ -1207,6 +1207,12 @@ result = _(1).isArray();
result = _([]).isArray();
result = _({}).isArray();
+// _.isBoolean
+result = _.isBoolean(any);
+result = _(1).isBoolean();
+result = _([]).isBoolean();
+result = _({}).isBoolean();
+
// _.isDate
result = _.isDate(any);
result = _(42).isDate();
@@ -1260,6 +1266,12 @@ result = _(undefined).isNaN();
result = _.isNative(Array.prototype.push);
result = _(Array.prototype.push).isNative();
+// _.isNull
+result = _.isNull(any);
+result = _(1).isNull();
+result = _([]).isNull();
+result = _({}).isNull();
+
// _.isNumber
result = _.isNumber(any);
result = _(1).isNumber();
@@ -1473,8 +1485,6 @@ interface FirstSecond {
}
result = _.invert({ 'first': 'moe', 'second': 'larry' });
-result = _.isBoolean(null);
-
result = _.isElement(document.body);
// _.isEqual (alias: _.eq)
@@ -1502,9 +1512,6 @@ result = _(testEqArray).isEqual(testEqOtherArray, testEqCustomizerFn);
result = _.eq(testEqArray, testEqOtherArray, testEqCustomizerFn);
result = _(testEqArray).eq(testEqOtherArray, testEqCustomizerFn);
-result = _.isNull(null);
-result = _.isNull(undefined);
-
result = _.isObject({});
result = _.isObject([1, 2, 3]);
result = _.isObject(1);
@@ -1755,7 +1762,9 @@ result = _.uniqueId();
result = _.camelCase('Foo Bar');
result = _('Foo Bar').camelCase();
+// _.capitalize
result = _.capitalize('fred');
+result = _('fred').capitalize();
// _.deburr
result = _.deburr('déjà vu');
diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts
index 43ba61f3b..9815f472b 100644
--- a/lodash/lodash.d.ts
+++ b/lodash/lodash.d.ts
@@ -6196,6 +6196,23 @@ declare module _ {
isArray(): boolean;
}
+ //_.isBoolean
+ interface LoDashStatic {
+ /**
+ * Checks if value is classified as a boolean primitive or object.
+ * @param value The value to check.
+ * @return Returns true if value is correctly classified, else false.
+ **/
+ isBoolean(value?: any): boolean;
+ }
+
+ interface LoDashWrapperBase {
+ /**
+ * @see _.isBoolean
+ */
+ isBoolean(): boolean;
+ }
+
//_.isDate
interface LoDashStatic {
/**
@@ -6346,6 +6363,23 @@ declare module _ {
isNative(): boolean;
}
+ //_.isNull
+ interface LoDashStatic {
+ /**
+ * Checks if value is null.
+ * @param value The value to check.
+ * @return Returns true if value is null, else false.
+ **/
+ isNull(value?: any): boolean;
+ }
+
+ interface LoDashWrapperBase {
+ /**
+ * see _.isNull
+ */
+ isNull(): boolean;
+ }
+
//_.isNumber
interface LoDashStatic {
/**
@@ -7063,16 +7097,6 @@ declare module _ {
invert(object: any): any;
}
- //_.isBoolean
- interface LoDashStatic {
- /**
- * Checks if value is a boolean value.
- * @param value The value to check.
- * @return True if the value is a boolean value, else false.
- **/
- isBoolean(value?: any): boolean;
- }
-
//_.isElement
interface LoDashStatic {
/**
@@ -7163,16 +7187,6 @@ declare module _ {
thisArg?: any): boolean;
}
- //_.isNull
- interface LoDashStatic {
- /**
- * Checks if value is null.
- * @param value The value to check.
- * @return True if the value is null, else false.
- **/
- isNull(value?: any): boolean;
- }
-
//_.isObject
interface LoDashStatic {
/**
@@ -7583,8 +7597,16 @@ declare module _ {
camelCase(): string;
}
+ //_.capitalize
interface LoDashStatic {
- capitalize(str?: string): string;
+ capitalize(string?: string): string;
+ }
+
+ interface LoDashWrapper {
+ /**
+ * @see _.capitalize
+ */
+ capitalize(): string;
}
//_.deburr
diff --git a/node-mysql-wrapper/node-mysql-wrapper-tests.ts b/node-mysql-wrapper/node-mysql-wrapper-tests.ts
index 700c1ee6e..35acec27f 100644
--- a/node-mysql-wrapper/node-mysql-wrapper-tests.ts
+++ b/node-mysql-wrapper/node-mysql-wrapper-tests.ts
@@ -1,18 +1,63 @@
///
import wrapper = require("node-mysql-wrapper");
-var db = wrapper("mysql://kataras:pass@127.0.0.1/taglub?debug=false&charset=utf8");
+var db = wrapper.wrap("mysql://kataras:pass@127.0.0.1/taglub?debug=false&charset=utf8");
+
+
+
+
+class User { //or interface
+ userId: number;
+ username: string;
+ mail: string;
+ comments: Comment[];
+}
+
+interface Comment {
+ commentId: number;
+ content: string;
+
+}
db.ready(() => {
- db.table("users").on("insert", (parsedResults) => {
+ var usersDb = db.table("users");
+
+ usersDb.findById(16, (_user) => {
+ console.log("TEST1: \n");
+ console.log("FOUND USER WITH USERNAME: " + _user.username);
+ });
+
+ /* OR usersDb.findById(18).then(_user=> {
+ console.log("FOUND USER WITH USERNAME: " + _user.username);
+ }, (err) => { console.log("ERROR ON FETCHING FINDBY ID: " + err) });
+ */
+
+ usersDb.find({ userId: 18, comments: { userId: '=' } }, _users=> {
+ var _user = _users[0];
+ console.log("TEST2: \n");
+ console.log(_user.username + " with ");
+ console.log(_user.comments.length + " comments ");
+ _user.comments.forEach(_comment=> {
+ console.log("--------------\n" + _comment.content);
+ });
});
- db.table("users").findAll().then((results) => {
- console.dir(results);
+ usersDb.safeRemove(5620, answer=> {
+ console.log("TEST 3: \n");
+ console.log(answer.affectedRows + ' (1) has removed from table: ' + answer.table);
+
});
- db.table("users").find({ userId: 18 }, (results) => {
- console.dir(results[0]);
+ var auser = new User();
+ auser.username = ' just a username';
+ auser.mail = ' just an email';
+
+ usersDb.save(auser, newUser=> {
+ console.log("TEST 4: \n");
+ console.log("NEW USER HAS CREATED WITH NEW USER ID: " + newUser.userId);
+
});
+
+
});
diff --git a/node-mysql-wrapper/node-mysql-wrapper.d.ts b/node-mysql-wrapper/node-mysql-wrapper.d.ts
index 55cd039e8..6f792d96d 100644
--- a/node-mysql-wrapper/node-mysql-wrapper.d.ts
+++ b/node-mysql-wrapper/node-mysql-wrapper.d.ts
@@ -3,129 +3,129 @@
// Definitions by: Makis Maropoulos
// Definitions: https://github.com/borisyankov/DefinitelyTyped
-///
+///
///
declare module "node-mysql-wrapper" {
- import Mysql = require("mysql");
+ import * as Mysql from 'mysql';
+ import * as Promise from 'bluebird';
+ import {EventEmitter} from 'events';
- function MySQLWrapperBuilder(connection: string | Mysql.IConnection, ...useOnlyTables: string[]): MySQLWrapper;
+ var EQUAL_TO_PROPERTY_SYMBOL: string;
- enum EVENT_TYPES {
- INSERT, UPDATE, DELETE, SAVE
+ interface Map {
+ [index: string]: T;
}
- interface MySQLConnection {
- new (connection: string | Mysql.IConnection): MySQLConnection;
+ class MysqlUtil {
+ constructor();
+ static copyObject(object: T): T;
+ static toObjectProperty(columnKey: string): string;
+ static toRowProperty(objectKey: string): string;
+ static forEachValue(map: Map, callback: (value: T) => U): U;
+ static forEachKey(map: Map, callback: (key: string) => U): U;
+ }
- create(connectionUri: string): void;
- create(connection: Mysql.IConnection): void;
+ interface ICriteria {
+ rawCriteriaObject: any;
+ tables: string[];
+ noDatabaseProperties: string[];
+ whereClause: string;
+ }
+
+ class Criteria implements ICriteria {
+ rawCriteriaObject: any;
+ tables: string[];
+ noDatabaseProperties: string[];
+ whereClause: string;
+ constructor(rawCriteriaObject: any, tables: string[], noDatabaseProperties: string[], whereClause: string);
+ }
+
+ class CriteriaBuilder {
+ private _table;
+ constructor(table: MysqlTable);
+ build(rawCriteriaObject: any): Criteria;
+ }
+
+ class MysqlConnection extends EventEmitter {
+ connection: Mysql.IConnection;
+ eventTypes: string[];
+ tableNamesToUseOnly: any[];
+ tables: MysqlTable[];
+ constructor(connection: string | Mysql.IConnection);
+ create(connection: string | Mysql.IConnection): void;
attach(connection: Mysql.IConnection): void;
- end(callback: () => void): void;
+ end(callback?: (error: any) => void): void;
destroy(): void;
- link(callback?: () => void): Promise;
- connect(callback?: () => void): Promise;
-
- useOnly(...useOnlyTables: string[]): void;
-
- fetchDatabaseInfornation(): Promise;
-
+ link(readyCallback?: () => void): Promise;
+ useOnly(...tables: any[]): void;
+ fetchDatabaseInfornation(): Promise;
escape(val: string): string;
- notice(tableWhichCalled: string, queryStr: string, parsedResults: Object[]): void;
- fireEvent(tableWhichCalled: string, queryStr: string, parsedResults: Object[]): void;
-
- watch(tableName: string, evtType: EVENT_TYPES | string, callback: (parsedResults: Object[]) => void): void;
- on(tableName: string, evtType: EVENT_TYPES | string, callback: (parsedResults: Object[]) => void): void;
- unwatch(tableName: string, evtType: EVENT_TYPES | string, callbackToRemove: () => void): void;
- off(tableName: string, evtType: EVENT_TYPES | string, callbackToRemove: () => void): void;
-
- query(mysqlQuery: Mysql.IQueryFunction): void;
-
- table(tableName: string): MySQLTable;
+ notice(tableWhichCalled: string, queryStr: string, parsedResults: any[]): void;
+ watch(tableName: string, evtType: any, callback: (parsedResults: any[]) => void): void;
+ unwatch(tableName: string, evtType: string, callbackToRemove: (parsedResults: any[]) => void): void;
+ query(queryStr: string, callback: (err: Mysql.IError, results: any) => any, queryArguments?: any[]): void;
+ table(tableName: string): MysqlTable;
}
-
- interface MySQLTable {
- new (tableName: string, connection: MySQLConnection): MySQLTable;
-
- setColumns(columns: string[]): void;
-
- setPrimaryKey(primaryKeyColumnName: string): void;
-
- toString(): string;
-
- model(jsObject: Object): MySQLModel;
-
- watch(evtType: EVENT_TYPES | string, callback: (parsedResults: Object[]) => void): void;
- on(evtType: EVENT_TYPES | string, callback: (parsedResults: Object[]) => void): void;
- unwatch(evtType: EVENT_TYPES|string, callbackToRemove: () => void): void;
- off(evtType: EVENT_TYPES|string, callbackToRemove: () => void): void;
-
- ///START DYNAMIC METHODS FOR TABLES CANNOT BE PRE-DEFINED WITH DYNAMIC WAY, YET, SO:
- find(jsObject: Object, callback?: (results: Object[]) => void): Promise;
- save(jsObject: Object, callback?: (results: Object[]) => void): Promise;
- remove(jsObject: Object, callback?: (results: Object[]) => void): Promise;
- delete(jsObject: Object, callback?: (results: Object[]) => void): Promise;
- safeDelete(jsObject: Object, callback?: (results: Object[]) => void): Promise;
- ///END
- findAll(callback?: (results: Object[]) => void): Promise;
-
- extend(functionName: string, functionToBeSupported: () => any): void;
-
+
+ class MysqlTable {
+ private _name;
+ private _connection;
+ private _columns;
+ private _primaryKey;
+ private _criteriaBuilder;
+ constructor(tableName: string, connection: MysqlConnection);
+ columns: string[];
+ primaryKey: string;
+ connection: MysqlConnection;
+ name: string;
+ on(evtType: string, callback: (parsedResults: any[]) => void): void;
+ off(evtType: string, callbackToRemove: (parsedResults: any[]) => void): void;
has(extendedFunctionName: string): boolean;
-
+ extend(functionName: string, theFunction: (...args: any[]) => any): void;
+ objectFromRow(row: any): any;
+ rowFromObject(obj: any): any;
+ getRowAsArray(jsObject: any): Array;
+ getPrimaryKeyValue(jsObject: any): number | string;
+ parseQueryResult(result: any, criteria: ICriteria): Promise;
+ find(criteriaRawJsObject: any, callback?: (_results: T[]) => any): Promise;
+ findById(id: number | string, callback?: (result: T) => any): Promise;
+ findAll(callback?: (_results: T[]) => any): Promise;
+ save(criteriaRawJsObject: any, callback?: (_result: any) => any): Promise;
+ safeRemove(id: number | string, callback?: (_result: {
+ affectedRows: number;
+ table: string;
+ }) => any): Promise<{
+ affectedRows: number;
+ table: string;
+ }>;
+ remove(criteriaRawJsObject: any, callback?: (_result: {
+ affectedRows: number;
+ table: string;
+ }) => any): Promise<{
+ affectedRows: number;
+ table: string;
+ }>;
}
- interface MySQLModel {
-
- new (table: MySQLTable, jsObject: Object): MySQLModel;
-
- toObjectProperty(columnKey: string): string;
- toRowProperty(objectKey: string): string;
-
- create(jsObject: Object): MySQLModel;
- reUse(jsObject: Object): MySQLModel;
-
- toRow(): void;
- getRawObject(): Object;
-
- parseTable(mysqlTableToSearch: String, parentObject: Object): Promise;
- parseResult(result: Object, tablesToSearch: string[]): Promise;
-
- find(parentObj?: Object): Promise;
- findAll(): Promise;
- save(): Promise;
- safeDelete(): Promise;
- remove(): Promise;
- delete(): Promise;
-
- }
-
- interface MySQLWrapper {
- new (connection?: MySQLConnection): MySQLWrapper;
-
- setConnection(connection: MySQLConnection): void;
-
- useOnly(...useOnlyTables: string[]): void;
-
- has(tableName: string): boolean;
- has(tableName: string, methodName: string): boolean;
-
+ class MysqlWrapper {
+ connection: MysqlConnection;
+ readyListenerCallbacks: Function[];
+ constructor(connection?: MysqlConnection);
+ static when(..._promises: Promise[]): Promise;
+ setConnection(connection: MysqlConnection): void;
+ useOnly(...useTables: any[]): void;
+ has(tableName: string, functionName?: string): boolean;
ready(callback: () => void): void;
+ table(tableName: string): MysqlTable;
noticeReady(): void;
- removeReadyListener(callback: () => any): void;
-
- query: Mysql.IQueryFunction;
-
+ removeReadyListener(callback: () => void): void;
+ query(queryStr: string, callback: (err: Mysql.IError, results: any) => any, queryArguments?: any[]): void;
destroy(): void;
- end(callback?: () => void): void;
-
- when(): Promise;
-
- ///START: WE CANNOT PRE-DEFINE THE DYNAMIC TABLES INTO PROPERTIES, SO WE USE INDEX(STRING-TABLENAME) TO GET A TABLE
- table(tableName: string): MySQLTable;
- ///END
+ end(maybeAcallbackError: (err: any) => void): void;
}
- export = MySQLWrapperBuilder;
+ function wrap(mysqlUrlOrObjectOrMysqlAlreadyConnection: Mysql.IConnection | string, ...useTables: any[]): MysqlWrapper;
+
}
diff --git a/offline-js/offline-js-tests.ts b/offline-js/offline-js-tests.ts
new file mode 100644
index 000000000..d43f091fa
--- /dev/null
+++ b/offline-js/offline-js-tests.ts
@@ -0,0 +1,40 @@
+// Test file for offline-js.
+///
+
+Offline.options = {
+ checkOnLoad: false,
+ interceptRequests: true,
+ checks: {
+ xhr: { url: '/connection-test' },
+ image: { url: 'my-image.gif' },
+ active: 'image'
+ },
+ reconnect: {
+ initialDelay: 3,
+ delay: 60
+ },
+ requests: true,
+ game: false
+};
+
+Offline.check();
+
+Offline.state;
+
+var handler = () => { },
+ context = {};
+
+Offline.on("up", handler, context);
+Offline.on("down", handler, context);
+Offline.on("confirmed-up", handler, context);
+Offline.on("confirmed-down", handler, context);
+Offline.on("checking", handler, context);
+Offline.on("reconnect:started", handler, context);
+Offline.on("reconnect:stopped", handler, context);
+Offline.on("reconnect:tick", handler, context);
+Offline.on("reconnect:connecting", handler, context);
+Offline.on("reconnect:failure", handler, context);
+Offline.on("requests:flush", handler, context);
+Offline.on("requests:hold", handler, context);
+
+Offline.off("up", handler);
diff --git a/offline-js/offline-js.d.ts b/offline-js/offline-js.d.ts
new file mode 100644
index 000000000..f52b47e0c
--- /dev/null
+++ b/offline-js/offline-js.d.ts
@@ -0,0 +1,64 @@
+// Type definitions for Offline 0.7.14
+// Project: https://github.com/HubSpot/offline
+// Definitions by: Chris Wrench
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare var Offline: {
+ options: OfflineOptions;
+ check: () => void;
+ state: string;
+
+ on(event: "up", handler: (e: Event) => any, context?: any): void;
+ on(event: "down", handler: (e: Event) => any, context?: any): void;
+ on(event: "confirmed-up", handler: (e: Event) => any, context?: any): void;
+ on(event: "confirmed-down", handler: (e: Event) => any, context?: any): void;
+ on(event: "checking", handler: (e: Event) => any, context?: any): void;
+ on(event: "reconnect:started", handler: (e: Event) => any, context?: any): void;
+ on(event: "reconnect:stopped", handler: (e: Event) => any, context?: any): void;
+ on(event: "reconnect:tick", handler: (e: Event) => any, context?: any): void;
+ on(event: "reconnect:connecting", handler: (e: Event) => any, context?: any): void;
+ on(event: "reconnect:failure", handler: (e: Event) => any, context?: any): void;
+ on(event: "requests:flush", handler: (e: Event) => any, context?: any): void;
+ on(event: "requests:hold", handler: (e: Event) => any, context?: any): void;
+ on(event: string, handler: (e: Event) => any, context?: any): void;
+
+ off(event: "up", handler?: (e: Event) => any): void;
+ off(event: "down", handler?: (e: Event) => any): void;
+ off(event: "confirmed-up", handler?: (e: Event) => any): void;
+ off(event: "confirmed-down", handler?: (e: Event) => any): void;
+ off(event: "checking", handler?: (e: Event) => any): void;
+ off(event: "reconnect:started", handler?: (e: Event) => any): void;
+ off(event: "reconnect:stopped", handler?: (e: Event) => any): void;
+ off(event: "reconnect:tick", handler?: (e: Event) => any): void;
+ off(event: "reconnect:connecting", handler?: (e: Event) => any): void;
+ off(event: "reconnect:failure", handler?: (e: Event) => any): void;
+ off(event: "requests:flush", handler?: (e: Event) => any): void;
+ off(event: "requests:hold", handler?: (e: Event) => any): void;
+ off(event: string, handler?: (e: Event) => any): void;
+};
+
+interface OfflineOptions {
+ // TODO Should these types be `boolean|Function`?
+ // The project documentation is not clear here.
+ checkOnLoad?: boolean;
+ interceptRequests?: boolean;
+ requests?: boolean;
+ game?: boolean;
+ checks?: OfflineChecks;
+ reconnect: {
+ initialDelay: number;
+ delay: number;
+ };
+}
+
+interface OfflineChecks {
+ // TODO "xhr" and "image" probably have different options.
+ // However, this is not stated in the project documentation.
+ xhr?: OfflineCheck;
+ image?: OfflineCheck;
+ active?: string;
+}
+
+interface OfflineCheck {
+ url: string;
+}
diff --git a/openlayers/openlayers-tests.ts b/openlayers/openlayers-tests.ts
index 2e518e085..3effa928a 100644
--- a/openlayers/openlayers-tests.ts
+++ b/openlayers/openlayers-tests.ts
@@ -33,6 +33,7 @@ var featureFormat: ol.format.Feature;
var geometry: ol.geom.Geometry;
var loadingstrategy: ol.LoadingStrategy;
var tilegrid: ol.tilegrid.TileGrid;
+var vector: ol.source.Vector;
//
// ol.Attribution
@@ -112,6 +113,13 @@ geometryResult.getClosestPoint(coordinate, coordinate);
extent = geometryResult.getExtent();
geometryResult.getExtent(extent);
+//
+// ol.source
+//
+vector = new ol.source.Vector({
+ features: [feature]
+});
+
//
// ol.Feature
//
diff --git a/openlayers/openlayers.d.ts b/openlayers/openlayers.d.ts
index 39091a849..9974ef9eb 100644
--- a/openlayers/openlayers.d.ts
+++ b/openlayers/openlayers.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for OpenLayers v3.6.0
+// Type definitions for OpenLayers v3.6.0
// Project: http://openlayers.org/
// Definitions by: Wouter Goedhart
// Definitions: https://github.com/borisyankov/DefinitelyTyped
@@ -88,6 +88,21 @@ declare module olx {
targetSize?: number;
}
+ /**
+ * Object literal with config options for the map logo.
+ */
+ interface LogoOptions {
+ /**
+ * Link url for the logo. Will be followed when the logo is clicked.
+ */
+ href: string;
+
+ /**
+ * Image src for the logo
+ */
+ src: string;
+ }
+
interface MapOptions {
/** Controls initially added to the map. If not specified, ol.control.defaults() is used. */
@@ -382,6 +397,21 @@ declare module olx {
}
}
+ module interaction {
+ interface DefaultsOptions {
+ altShiftDragRotate?: boolean;
+ doubleClickZoom?: boolean;
+ keyboard?: boolean;
+ mouseWheelZoom?: boolean;
+ shiftDragZoom?: boolean;
+ dragPan?: boolean;
+ pinchRotate?: boolean;
+ pinchZoom?: boolean;
+ zoomDelta?: number;
+ zoomDuration?: number;
+ }
+ }
+
module layer {
interface BaseOptions {
@@ -527,6 +557,97 @@ declare module olx {
}
}
+ module source {
+
+ interface VectorOptions {
+ /**
+ * Attributions.
+ */
+ attributions?: Array;
+
+ /**
+ * Features. If provided as {@link ol.Collection}, the features in the source
+ * and the collection will stay in sync.
+ */
+ features?: Array | ol.Collection;
+
+ /**
+ * The feature format used by the XHR feature loader when `url` is set.
+ * Required if `url` is set, otherwise ignored. Default is `undefined`.
+ */
+ format?: ol.format.Feature;
+
+ /**
+ * The loader function used to load features, from a remote source for example.
+ * Note that the source will create and use an XHR feature loader when `url` is
+ * set.
+ */
+ loader?: ol.FeatureLoader;
+
+ /**
+ * Logo.
+ */
+ logo?: string | olx.LogoOptions;
+
+ /**
+ * The loading strategy to use. By default an {@link ol.loadingstrategy.all}
+ * strategy is used, a one-off strategy which loads all features at once.
+ */
+ strategy?: ol.LoadingStrategy;
+
+ /**
+ * Setting this option instructs the source to use an XHR loader (see
+ * {@link ol.featureloader.xhr}) and an {@link ol.loadingstrategy.all} for a
+ * one-off download of all features from that URL.
+ * Requires `format` to be set as well.
+ */
+ url?: string;
+
+ /**
+ * By default, an RTree is used as spatial index. When features are removed and
+ * added frequently, and the total number of features is low, setting this to
+ * `false` may improve performance.
+ */
+ useSpatialIndex?: boolean;
+
+ /**
+ * Wrap the world horizontally. Default is `true`. For vector editing across the
+ * -180° and 180° meridians to work properly, this should be set to `false`. The
+ * resulting geometry coordinates will then exceed the world bounds.
+ */
+ wrapX?: boolean;
+ }
+ }
+
+ module style {
+
+ interface FillOptions {
+ color?: ol.Color | string;
+ }
+
+ interface StyleOptions {
+ geometry?: string | ol.geom.Geometry | ol.style.GeometryFunction;
+ fill?: ol.style.Fill;
+ image?: ol.style.Image;
+ stroke?: ol.style.Stroke;
+ text?: ol.style.Text;
+ zIndex?: number;
+ }
+
+ interface TextOptions {
+ font?: string;
+ offsetX?: number;
+ offsetY?: number;
+ scale?: number;
+ rotation?: number;
+ text?: string;
+ textAlign?: string;
+ textBaseline?: string;
+ fill?: ol.style.Fill;
+ stroke?: ol.style.Stroke;
+ }
+ }
+
module tilegrid {
interface TileGridOptions {
@@ -2551,13 +2672,16 @@ declare module ol {
class MultiPolygon {
}
- class Point {
+ class Point extends SimpleGeometry {
+ constructor(coordinates: ol.Coordinate, layout?: geom.GeometryLayout);
+ getCoordinates(): ol.Coordinate;
+ setCoordinates(coordinates: ol.Coordinate, opt?: geom.GeometryLayout): void;
}
class Polygon {
}
- class SimpleGeometry {
+ class SimpleGeometry extends Geometry {
}
}
@@ -2625,6 +2749,8 @@ declare module ol {
class Snap {
}
+
+ function defaults(opts: olx.interaction.DefaultsOptions): ol.Collection;
}
module layer {
@@ -3155,6 +3281,14 @@ declare module ol {
}
class Vector {
+ constructor(opts: olx.source.VectorOptions)
+
+ /**
+ * Get the extent of the features currently in the source.
+ */
+ getExtent(): ol.Extent;
+
+ getFeaturesInExtent(extent: ol.Extent): ol.Feature[];
}
class VectorEvent {
@@ -3187,7 +3321,21 @@ declare module ol {
class Circle {
}
+ /**
+ * Set fill style for vector features.
+ */
class Fill {
+
+ constructor(opt_options?: olx.style.FillOptions);
+
+ getColor(): ol.Color | string;
+
+ /**
+ * Set the color.
+ */
+ setColor(color: ol.Color | string): void;
+
+ getChecksum(): string;
}
class Icon {
@@ -3196,6 +3344,10 @@ declare module ol {
class Image {
}
+ interface GeometryFunction {
+ (feature: Feature): ol.geom.Geometry
+ }
+
class RegularShape {
}
@@ -3203,10 +3355,82 @@ declare module ol {
constructor();
}
+ /**
+ * Container for vector feature rendering styles. Any changes made to the style
+ * or its children through `set*()` methods will not take effect until the
+ * feature, layer or FeatureOverlay that uses the style is re-rendered.
+ */
class Style {
+ constructor(opts: olx.style.StyleOptions);
}
+ /**
+ * Set text style for vector features.
+ */
class Text {
+ constructor(opt?: olx.style.TextOptions);
+
+ getFont(): string;
+ getOffsetX(): number;
+ getOffsetY(): number;
+ getFill(): Fill;
+ getRotation(): number;
+ getScale(): number;
+ getStroke(): Stroke;
+ getText(): string;
+ getTextAlign(): string;
+ getTextBaseline(): string;
+
+ /**
+ * Set the font.
+ */
+ setFont(font: string): void;
+
+ /**
+ * Set the x offset.
+ */
+ setOffsetX(offsetX: number): void;
+
+ /**
+ * Set the y offset.
+ */
+ setOffsetY(offsetY: number): void;
+
+ /**
+ * Set the fill.
+ */
+ setFill(fill: Fill): void;
+
+ /**
+ * Set the rotation.
+ */
+ setRotation(rotation: number): void;
+
+ /**
+ * Set the scale.
+ */
+ setScale(scale: number): void;
+
+ /**
+ * Set the stroke.
+ *
+ */
+ setStroke(stroke: Stroke): void;
+
+ /**
+ * Set the text.
+ */
+ setText(text: string): void;
+
+ /**
+ * Set the text alignment.
+ */
+ setTextAlign(textAlign: string): void;
+
+ /**
+ * Set the text baseline.
+ */
+ setTextBaseline(textBaseline: string): void;
}
/**
diff --git a/os-locale/os-locale-tests.ts b/os-locale/os-locale-tests.ts
new file mode 100644
index 000000000..65763a112
--- /dev/null
+++ b/os-locale/os-locale-tests.ts
@@ -0,0 +1,8 @@
+///
+
+import osLocale, { sync } from 'os-locale';
+
+osLocale((err: any, locale: string) => {
+});
+
+var locale: string = sync();
diff --git a/os-locale/os-locale.d.ts b/os-locale/os-locale.d.ts
new file mode 100644
index 000000000..17933ae67
--- /dev/null
+++ b/os-locale/os-locale.d.ts
@@ -0,0 +1,12 @@
+// Type definitions for os-locale 1.2.1
+// Project: https://github.com/sindresorhus/os-locale
+// Definitions by: Aya Morisawa
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "os-locale" {
+ function osLocale(cb: (err: any, locale: string) => void): void;
+ function osLocaleSync(): string;
+
+ export { osLocaleSync as sync };
+ export default osLocale;
+}
diff --git a/run-sequence/run-sequence-tests.ts b/run-sequence/run-sequence-tests.ts
index 98e57d9f3..edc3266e9 100644
--- a/run-sequence/run-sequence-tests.ts
+++ b/run-sequence/run-sequence-tests.ts
@@ -5,7 +5,7 @@ import gulp = require("gulp");
import tmp = require("run-sequence");
var runSequence = tmp.use(gulp);
-gulp.task("run-sequence", callback => {
+gulp.task("run-sequence", (callback: any) => {
runSequence("task1",
["task2", "task3"],
"taks4",
diff --git a/run-sequence/run-sequence.d.ts b/run-sequence/run-sequence.d.ts
index 3a2cb449c..4507e80c0 100644
--- a/run-sequence/run-sequence.d.ts
+++ b/run-sequence/run-sequence.d.ts
@@ -7,9 +7,10 @@
///
declare module "run-sequence" {
+ import gulp = require('gulp');
interface IRunSequence {
- (...streams: (string | string[] | gulp.ITaskCallback)[]): NodeJS.ReadWriteStream;
+ (...streams: (string | string[] | gulp.TaskCallback)[]): NodeJS.ReadWriteStream;
use(gulp: gulp.Gulp): IRunSequence;
}
diff --git a/select2/select2-tests.ts b/select2/select2-tests.ts
index d3a21b188..b63d3cc1e 100644
--- a/select2/select2-tests.ts
+++ b/select2/select2-tests.ts
@@ -56,6 +56,7 @@ $("#e6").select2({
ajax: {
url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json",
dataType: 'jsonp',
+ cache: false,
data: function (term, page) {
return {
q: term,
@@ -195,4 +196,4 @@ $("#e8").select2("enable", false);
$("#e8").select2("readonly", false);
$("#e8").select2('container');
$("#e8").select2('onSortStart');
-$("#e8").select2('onSortEnd');
\ No newline at end of file
+$("#e8").select2('onSortEnd');
diff --git a/select2/select2.d.ts b/select2/select2.d.ts
index 0b4543596..259dd16cf 100644
--- a/select2/select2.d.ts
+++ b/select2/select2.d.ts
@@ -26,6 +26,7 @@ interface Select2AjaxOptions {
url?: any;
dataType?: string;
quietMillis?: number;
+ cache?: boolean;
data?: (term: string, page: number, context: any) => any;
results?: (term: any, page: number, context: any) => any;
}
diff --git a/sequelize/sequelize-test.ts b/sequelize/sequelize-tests.ts
similarity index 99%
rename from sequelize/sequelize-test.ts
rename to sequelize/sequelize-tests.ts
index e5656c76e..2651453d6 100644
--- a/sequelize/sequelize-test.ts
+++ b/sequelize/sequelize-tests.ts
@@ -47,11 +47,14 @@ interface GTaskAttributes {
revision? : number;
name? : string;
}
-interface GTaskInstance extends Sequelize.Instance {}
+interface GTaskInstance extends Sequelize.Instance {
+ upRevision(): void;
+}
var GTask = s.define( 'task', { revision : Sequelize.INTEGER, name : Sequelize.STRING });
GUser.hasMany(GTask);
+GTask.create({ revision: 1, name: 'test' }).then( (gtask) => gtask.upRevision() );
//
diff --git a/sequelize/sequelize.d.ts b/sequelize/sequelize.d.ts
index 4c2294e6f..41e8410ae 100644
--- a/sequelize/sequelize.d.ts
+++ b/sequelize/sequelize.d.ts
@@ -256,13 +256,13 @@ declare module "sequelize" {
* user.getProfilePicture() // gets you only the profile picture
*
* User.findAll({
- * where: ...,
- * include: [
- * { model: Picture }, // load all pictures
- * { model: Picture, as: 'ProfilePicture' }, // load the profile picture. Notice that the spelling must be
- * the exact same as the one in the association
- * ]
- * })
+ * where: ...,
+ * include: [
+ * { model: Picture }, // load all pictures
+ * { model: Picture, as: 'ProfilePicture' }, // load the profile picture. Notice that the spelling must be
+ * the exact same as the one in the association
+ * ]
+ * })
* ```
* To get full control over the foreign key column added by sequelize, you can use the `foreignKey` option. It
* can either be a string, that specifies the name, or and object type definition,
@@ -276,11 +276,11 @@ declare module "sequelize" {
*
* ```js
* User.hasMany(Picture, {
- * foreignKey: {
- * name: 'uid',
- * allowNull: false
- * }
- * })
+ * foreignKey: {
+ * name: 'uid',
+ * allowNull: false
+ * }
+ * })
* ```
*
* This specifies that the `uid` column can not be null. In most cases this will already be covered by the
@@ -293,10 +293,10 @@ declare module "sequelize" {
*
* ```js
* user.getPictures({
- * where: {
- * format: 'jpg'
- * }
- * })
+ * where: {
+ * format: 'jpg'
+ * }
+ * })
* ```
*
* There are several ways to update and add new assoications. Continuing with our example of users and
@@ -371,8 +371,8 @@ declare module "sequelize" {
* started yet:
* ```js
* var UserProjects = sequelize.define('userprojects', {
- * started: Sequelize.BOOLEAN
- * })
+ * started: Sequelize.BOOLEAN
+ * })
* User.hasMany(Project, { through: UserProjects })
* Project.hasMany(User, { through: UserProjects })
* ```
@@ -387,8 +387,8 @@ declare module "sequelize" {
*
* ```js
* p1.userprojects {
- * started: true
- * }
+ * started: true
+ * }
* user.setProjects([p1, p2], {started: false}) // The default value is false, but p1 overrides that.
* ```
*
@@ -396,9 +396,9 @@ declare module "sequelize" {
* available as an object with the name of the through model.
* ```js
* user.getProjects().then(function (projects) {
- * var p1 = projects[0]
- * p1.userprojects.started // Is this project started yet?
- * })
+ * var p1 = projects[0]
+ * p1.userprojects.started // Is this project started yet?
+ * })
* ```
*
* @param target The model that will be associated with hasOne relationship
@@ -421,8 +421,8 @@ declare module "sequelize" {
* the project has been started yet:
* ```js
* var UserProjects = sequelize.define('userprojects', {
- * started: Sequelize.BOOLEAN
- * })
+ * started: Sequelize.BOOLEAN
+ * })
* User.belongsToMany(Project, { through: UserProjects })
* Project.belongsToMany(User, { through: UserProjects })
* ```
@@ -436,8 +436,8 @@ declare module "sequelize" {
*
* ```js
* p1.userprojects {
- * started: true
- * }
+ * started: true
+ * }
* user.setProjects([p1, p2], {started: false}) // The default value is false, but p1 overrides that.
* ```
*
@@ -445,9 +445,9 @@ declare module "sequelize" {
* available as an object with the name of the through model.
* ```js
* user.getProjects().then(function (projects) {
- * var p1 = projects[0]
- * p1.userprojects.started // Is this project started yet?
- * })
+ * var p1 = projects[0]
+ * p1.userprojects.started // Is this project started yet?
+ * })
* ```
*
* @param target The model that will be associated with hasOne relationship
@@ -813,15 +813,15 @@ declare module "sequelize" {
*
* ```js
* sequelize.define('Model', {
- * foreign_id: {
- * type: Sequelize.INTEGER,
- * references: {
- * model: OtherModel,
- * key: 'id',
- * deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE
- * }
- * }
- * });
+ * foreign_id: {
+ * type: Sequelize.INTEGER,
+ * references: {
+ * model: OtherModel,
+ * key: 'id',
+ * deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE
+ * }
+ * }
+ * });
* ```
*
* The constraints can be configured in a transaction like this. It will
@@ -1074,16 +1074,16 @@ declare module "sequelize" {
* ```js
* // Method 1
* sequelize.define(name, { attributes }, {
- * hooks: {
- * beforeBulkCreate: function () {
- * // can be a single function
- * },
- * beforeValidate: [
- * function () {},
- * function() {} // Or an array of several
- * ]
- * }
- * })
+ * hooks: {
+ * beforeBulkCreate: function () {
+ * // can be a single function
+ * },
+ * beforeValidate: [
+ * function () {},
+ * function() {} // Or an array of several
+ * ]
+ * }
+ * })
*
* // Method 2
* Model.hook('afterDestroy', function () {})
@@ -1563,7 +1563,7 @@ declare module "sequelize" {
* @param options.plain If set to true, included instances will be returned as plain objects
*/
get( key : string, options? : { plain? : boolean, clone? : boolean } ) : any;
- get( options? : { plain? : boolean, clone? : boolean } ) : Object;
+ get( options? : { plain? : boolean, clone? : boolean } ) : TAttributes;
/**
* Set is used to update values on the instance (the sequelize representation of the instance that is,
@@ -1716,7 +1716,7 @@ declare module "sequelize" {
* Convert the instance to a JSON representation. Proxies to calling `get` with no keys. This means get all
* values gotten from the DB, and apply all custom getters.
*/
- toJSON() : Object;
+ toJSON() : TAttributes;
}
@@ -2439,32 +2439,32 @@ declare module "sequelize" {
* Apply a scope created in `define` to the model. First let's look at how to create scopes:
* ```js
* var Model = sequelize.define('model', attributes, {
- * defaultScope: {
- * where: {
- * username: 'dan'
- * },
- * limit: 12
- * },
- * scopes: {
- * isALie: {
- * where: {
- * stuff: 'cake'
- * }
- * },
- * complexFunction: function(email, accessLevel) {
- * return {
- * where: {
- * email: {
- * $like: email
- * },
- * accesss_level {
- * $gte: accessLevel
- * }
- * }
- * }
- * }
- * }
- * })
+ * defaultScope: {
+ * where: {
+ * username: 'dan'
+ * },
+ * limit: 12
+ * },
+ * scopes: {
+ * isALie: {
+ * where: {
+ * stuff: 'cake'
+ * }
+ * },
+ * complexFunction: function(email, accessLevel) {
+ * return {
+ * where: {
+ * email: {
+ * $like: email
+ * },
+ * accesss_level {
+ * $gte: accessLevel
+ * }
+ * }
+ * }
+ * }
+ * }
+ * })
* ```
* Now, since you defined a default scope, every time you do Model.find, the default scope is appended to
* your query. Here's a couple of examples:
@@ -2490,11 +2490,11 @@ declare module "sequelize" {
* __Simple search using AND and =__
* ```js
* Model.findAll({
- * where: {
- * attr1: 42,
- * attr2: 'cake'
- * }
- * })
+ * where: {
+ * attr1: 42,
+ * attr2: 'cake'
+ * }
+ * })
* ```
* ```sql
* WHERE attr1 = 42 AND attr2 = 'cake'
@@ -2504,21 +2504,21 @@ declare module "sequelize" {
* ```js
*
* Model.findAll({
- * where: {
- * attr1: {
- * gt: 50
- * },
- * attr2: {
- * lte: 45
- * },
- * attr3: {
- * in: [1,2,3]
- * },
- * attr4: {
- * ne: 5
- * }
- * }
- * })
+ * where: {
+ * attr1: {
+ * gt: 50
+ * },
+ * attr2: {
+ * lte: 45
+ * },
+ * attr3: {
+ * in: [1,2,3]
+ * },
+ * attr4: {
+ * ne: 5
+ * }
+ * }
+ * })
* ```
* ```sql
* WHERE attr1 > 50 AND attr2 <= 45 AND attr3 IN (1,2,3) AND attr4 != 5
@@ -2529,14 +2529,14 @@ declare module "sequelize" {
* __Queries using OR__
* ```js
* Model.findAll({
- * where: Sequelize.and(
- * { name: 'a project' },
- * Sequelize.or(
- * { id: [1,2,3] },
- * { id: { gt: 10 } }
- * )
- * )
- * })
+ * where: Sequelize.and(
+ * { name: 'a project' },
+ * Sequelize.or(
+ * { id: [1,2,3] },
+ * { id: { gt: 10 } }
+ * )
+ * )
+ * })
* ```
* ```sql
* WHERE name = 'a project' AND (id` IN (1,2,3) OR id > 10)
@@ -2587,12 +2587,12 @@ declare module "sequelize" {
*
* ```js
* Model.findAndCountAll({
- * where: ...,
- * limit: 12,
- * offset: 12
- * }).then(function (result) {
- * ...
- * })
+ * where: ...,
+ * limit: 12,
+ * offset: 12
+ * }).then(function (result) {
+ * ...
+ * })
* ```
* In the above example, `result.rows` will contain rows 13 through 24, while `result.count` will return
* the
@@ -2605,11 +2605,11 @@ declare module "sequelize" {
* Suppose you want to find all users who have a profile attached:
* ```js
* User.findAndCountAll({
- * include: [
- * { model: Profile, required: true}
- * ],
- * limit 3
- * });
+ * include: [
+ * { model: Profile, required: true}
+ * ],
+ * limit 3
+ * });
* ```
* Because the include for `Profile` has `required` set it will result in an inner join, and only the users
* who have a profile will be counted. If we remove `required` from the include, both users with and
@@ -3123,7 +3123,7 @@ declare module "sequelize" {
/**
* If this column references another table, provide it here as a Model, or a string
*/
- model?: Model;
+ model?: string | Model;
/**
* The column of the foreign table that this column references
@@ -3149,7 +3149,7 @@ declare module "sequelize" {
/**
* A string or a data type
*/
- type: string | DataTypeAbstract;
+ type: string | DataTypeAbstract;
/**
* If true, the column will get a unique constraint. If a string is provided, the column will be part of a
@@ -3218,11 +3218,11 @@ declare module "sequelize" {
*
* ```js
* sequelize.define('model', {
- * states: {
- * type: Sequelize.ENUM,
- * values: ['active', 'pending', 'deleted']
- * }
- * })
+ * states: {
+ * type: Sequelize.ENUM,
+ * values: ['active', 'pending', 'deleted']
+ * }
+ * })
* ```
*/
values? : Array;
@@ -3265,7 +3265,7 @@ declare module "sequelize" {
* The type of query you are executing. The query type affects how results are formatted before they are
* passed back. The type is a string, but `Sequelize.QueryTypes` is provided as convenience shortcuts.
*/
- type?: string;
+ type?: string;
/**
* If true, transforms objects with `.` separated property names into nested objects using
@@ -4042,8 +4042,8 @@ declare module "sequelize" {
* Convert a user's username to upper case
* ```js
* instance.updateAttributes({
- * username: self.sequelize.fn('upper', self.sequelize.col('username'))
- * })
+ * username: self.sequelize.fn('upper', self.sequelize.col('username'))
+ * })
* ```
* @param fn The function you want to call
* @param args All further arguments will be passed as arguments to the function
@@ -4211,22 +4211,22 @@ declare module "sequelize" {
*
* ```js
* sequelize.define('modelName', {
- * columnA: {
- * type: Sequelize.BOOLEAN,
- * validate: {
- * is: ["[a-z]",'i'], // will only allow letters
- * max: 23, // only allow values <= 23
- * isIn: {
- * args: [['en', 'zh']],
- * msg: "Must be English or Chinese"
- * }
- * },
- * field: 'column_a'
- * // Other attributes here
- * },
- * columnB: Sequelize.STRING,
- * columnC: 'MY VERY OWN COLUMN TYPE'
- * })
+ * columnA: {
+ * type: Sequelize.BOOLEAN,
+ * validate: {
+ * is: ["[a-z]",'i'], // will only allow letters
+ * max: 23, // only allow values <= 23
+ * isIn: {
+ * args: [['en', 'zh']],
+ * msg: "Must be English or Chinese"
+ * }
+ * },
+ * field: 'column_a'
+ * // Other attributes here
+ * },
+ * columnB: Sequelize.STRING,
+ * columnC: 'MY VERY OWN COLUMN TYPE'
+ * })
*
* sequelize.models.modelName // The model will now be available in models under the name given to define
* ```
@@ -4297,12 +4297,12 @@ declare module "sequelize" {
*
* ```js
* sequelize.query('SELECT...').spread(function (results, metadata) {
- * // Raw query - use spread
- * });
+ * // Raw query - use spread
+ * });
*
* sequelize.query('SELECT...', { type: sequelize.QueryTypes.SELECT }).then(function (results) {
- * // SELECT query - use then
- * })
+ * // SELECT query - use then
+ * })
* ```
*
* @param sql
@@ -4417,12 +4417,12 @@ declare module "sequelize" {
*
* ```js
* sequelize.transaction().then(function (t) {
- * return User.find(..., { transaction: t}).then(function (user) {
- * return user.updateAttributes(..., { transaction: t});
- * })
- * .then(t.commit.bind(t))
- * .catch(t.rollback.bind(t));
- * })
+ * return User.find(..., { transaction: t}).then(function (user) {
+ * return user.updateAttributes(..., { transaction: t});
+ * })
+ * .then(t.commit.bind(t))
+ * .catch(t.rollback.bind(t));
+ * })
* ```
*
* A syntax for automatically committing or rolling back based on the promise chain resolution is also
@@ -4430,15 +4430,15 @@ declare module "sequelize" {
*
* ```js
* sequelize.transaction(function (t) { // Note that we use a callback rather than a promise.then()
- * return User.find(..., { transaction: t}).then(function (user) {
- * return user.updateAttributes(..., { transaction: t});
- * });
- * }).then(function () {
- * // Commited
- * }).catch(function (err) {
- * // Rolled back
- * console.error(err);
- * });
+ * return User.find(..., { transaction: t}).then(function (user) {
+ * return user.updateAttributes(..., { transaction: t});
+ * });
+ * }).then(function () {
+ * // Commited
+ * }).catch(function (err) {
+ * // Rolled back
+ * console.error(err);
+ * });
* ```
*
* If you have [CLS](https://github.com/othiym23/node-continuation-local-storage) enabled, the transaction
@@ -4555,27 +4555,27 @@ declare module "sequelize" {
*
* ```js
* {
- * READ_UNCOMMITTED: "READ UNCOMMITTED",
- * READ_COMMITTED: "READ COMMITTED",
- * REPEATABLE_READ: "REPEATABLE READ",
- * SERIALIZABLE: "SERIALIZABLE"
- * }
+ * READ_UNCOMMITTED: "READ UNCOMMITTED",
+ * READ_COMMITTED: "READ COMMITTED",
+ * REPEATABLE_READ: "REPEATABLE READ",
+ * SERIALIZABLE: "SERIALIZABLE"
+ * }
* ```
*
* Pass in the desired level as the first argument:
*
* ```js
* return sequelize.transaction({
- * isolationLevel: Sequelize.Transaction.SERIALIZABLE
- * }, function (t) {
- *
- * // your transactions
- *
- * }).then(function(result) {
- * // transaction has been committed. Do something after the commit if required.
- * }).catch(function(err) {
- * // do something with the err.
- * });
+ * isolationLevel: Sequelize.Transaction.SERIALIZABLE
+ * }, function (t) {
+ *
+ * // your transactions
+ *
+ * }).then(function(result) {
+ * // transaction has been committed. Do something after the commit if required.
+ * }).catch(function(err) {
+ * // do something with the err.
+ * });
* ```
*
* @see ISOLATION_LEVELS
@@ -4597,23 +4597,23 @@ declare module "sequelize" {
* ```js
* t1 // is a transaction
* Model.findAll({
- * where: ...,
- * transaction: t1,
- * lock: t1.LOCK...
- * });
+ * where: ...,
+ * transaction: t1,
+ * lock: t1.LOCK...
+ * });
* ```
*
* Postgres also supports specific locks while eager loading by using OF:
* ```js
* UserModel.findAll({
- * where: ...,
- * include: [TaskModel, ...],
- * transaction: t1,
- * lock: {
- * level: t1.LOCK...,
- * of: UserModel
- * }
- * });
+ * where: ...,
+ * include: [TaskModel, ...],
+ * transaction: t1,
+ * lock: {
+ * level: t1.LOCK...,
+ * of: UserModel
+ * }
+ * });
* ```
* UserModel will be locked but TaskModel won't!
*/
diff --git a/stripe/stripe.d.ts b/stripe/stripe.d.ts
index ca589e133..96d8758bc 100644
--- a/stripe/stripe.d.ts
+++ b/stripe/stripe.d.ts
@@ -1,6 +1,6 @@
// Type definitions for stripe
// Project: https://stripe.com/
-// Definitions by: Eric J. Smith
+// Definitions by: Andy Hawkins , Eric J. Smith
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface StripeStatic {
@@ -11,6 +11,7 @@ interface StripeStatic {
cardType(cardNumber: string): string;
getToken(token: string, responseHandler: (status: number, response: StripeTokenResponse) => void): void;
card: StripeCardData;
+ createToken(data: StripeTokenData, responseHandler: (status: number, response: StripeTokenResponse) => void): void;
}
interface StripeTokenData {
@@ -57,8 +58,9 @@ interface StripeCardData {
address_state?: string;
address_zip?: string;
address_country?: string;
-
- createToken(data: StripeTokenData, responseHandler: (status: number, response: StripeTokenResponse) => void): void;
}
declare var Stripe: StripeStatic;
+declare module "Stripe" {
+ export = StripeStatic;
+}
diff --git a/vortex-web-client/vortex-web-client-tests.ts b/vortex-web-client/vortex-web-client-tests.ts
index 216e268c5..bf6f72bbc 100644
--- a/vortex-web-client/vortex-web-client-tests.ts
+++ b/vortex-web-client/vortex-web-client-tests.ts
@@ -7,7 +7,7 @@ var tqos = new dds.TopicQos();
var chatTopic = new dds.Topic(0, 'ChatMessage', tqos);
runtime.registerTopic(chatTopic);
-var writerQos = new dds.DataWriterQos();
+var writerQos = new dds.DataWriterQos(dds.Partition("chatroom"), dds.Reliability.Reliable, dds.Durability.Persistent);
var writer = new dds.DataWriter(runtime, chatTopic, writerQos);
writer.write({
@@ -15,7 +15,7 @@ writer.write({
msg : "Hello World!"
});
-var readerQos = new dds.DataReaderQos();
+var readerQos = new dds.DataReaderQos(dds.Partition("chatroom"), dds.Reliability.Reliable, dds.Durability.Persistent);
var reader = new dds.DataReader(runtime, chatTopic, readerQos);
reader.addListener(function(msg) {
diff --git a/vortex-web-client/vortex-web-client.d.ts b/vortex-web-client/vortex-web-client.d.ts
index bb038a6bd..b432eff3f 100644
--- a/vortex-web-client/vortex-web-client.d.ts
+++ b/vortex-web-client/vortex-web-client.d.ts
@@ -39,11 +39,11 @@ declare module DDS {
/**
* KeepAll - KEEP_ALL qos policy
*/
- KeepAll:any;
+ static KeepAll:any;
/**
* KeepLast - KEEP_LAST qos policy
*/
- KeepLast:any;
+ static KeepLast:any;
}
/**
@@ -62,51 +62,37 @@ declare module DDS {
/**
* Reliable - 'Reliable' reliability policy
*/
- Reliable:any;
+ static Reliable:any;
/**
* BestEffort - 'BestEffort' reliability policy
*/
- BestEffort:any;
+ static BestEffort:any;
}
/**
- * Partition policy
+ * Create new partition policy
+ *
+ * @param policies - partition names
+ * @example var qos = Partition('p1', 'p2')
*/
- export class Partition implements Policy {
- /**
- * Create new partition policy
- *
- * @param policies - partition names
- * @example var qos = Partition('p1', 'p2')
- */
- constructor(...policies:string[]);
- }
+ export function Partition(...policies:string[]):Policy;
/**
- * Content Filter policy
+ * Create new content filter policy
+ *
+ * @param expr - filter expression
+ * @example var filter = ContentFilter("x>10 AND y<50")
*/
- export class ContentFilter implements Policy {
- /**
- * Create new content filter policy
- *
- * @param expr - filter expression
- * @example var filter = ContentFilter("x>10 AND y<50")
- */
- constructor(expr:string);
- }
+ export function ContentFilter(expr:string):Policy;
+
/**
- * Time Filter policy
+ * Create new time filter policy
+ *
+ * @param period - time duration (unit ?)
+ * @example var filter = TimeFilter(100)
*/
- export class TimeFilter implements Policy {
- /**
- * Create new content filter policy
- *
- * @param period - time duration (unit ?)
- * @example var filter = TimeFilter(100)
- */
- constructor(period:number);
- }
+ export function TimeFilter(period:number):Policy;
/**
* Durability Policy
@@ -125,19 +111,19 @@ declare module DDS {
/**
* Volatile - Volatile durability policy
*/
- Volatile:any;
+ static Volatile:any;
/**
* TransientLocal - TransientLocal durability policy
*/
- TransientLocal:any;
+ static TransientLocal:any;
/**
* Transient - Transient durability policy
*/
- Transient:any;
+ static Transient:any;
/**
* Persistent - Persistent durability policy
*/
- Persistent:any;
+ static Persistent:any;
}
@@ -473,7 +459,7 @@ declare module DDS {
export var runtime:{
Runtime : Runtime;
- }
+ };
export var VERSION:string;
}