Merge pull request #17305 from DefinitelyTyped/scarabedore-master

Followup to #17154 -- fix node-static-tests
This commit is contained in:
Nathan Shively-Sanders
2017-06-20 08:37:30 -07:00
committed by GitHub
5 changed files with 183 additions and 2 deletions
+32
View File
@@ -0,0 +1,32 @@
import SortedSet = require('collections/sorted-set');
interface Person {
name: string;
}
let set = new SortedSet<Person>(
[{name: 'John'}, {name: 'Jack'}, {name: 'Linda'}],
(a: Person, b: Person) => a.name === b.name,
(a: Person, b: Person) => {
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
}
);
let p1: Person | undefined = set.max();
let p2: Person | undefined = set.min();
set.push({name: 'Laurie'}, {name: 'Max'});
set.pop();
set.get({name: 'Laurie'});
set.has({name: 'John'});
let a = 1;
set.forEach((p: Person) => a++);
+133
View File
@@ -0,0 +1,133 @@
// Type definitions for collections v5.0.6
// Project: http://www.collectionsjs.com/
// Definitions by: Scarabe Dore <https://github.com/scarabedore>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module 'collections/sorted-set' {
namespace internal {
// TODO: These methods can be similar in others collection. One's should make some
// class model.
abstract class AbstractSet {
union(...plus: any[]): any;
intersection(...plus: any[]): any;
difference(...plus: any[]): any;
symmetricDifference(...plus: any[]): any;
remove(...plus: any[]): any;
contains(...plus: any[]): any;
toggle(...plus: any[]): any;
addEach(...plus: any[]): any;
deleteEach(...plus: any[]): any;
deleteAll(...plus: any[]): any;
findValue(...plus: any[]): any;
iterator(...plus: any[]): any;
forEach(...plus: any[]): any;
map(...plus: any[]): any;
filter(...plus: any[]): any;
group(...plus: any[]): any;
some(...plus: any[]): any;
every(...plus: any[]): any;
any(...plus: any[]): any;
all(...plus: any[]): any;
only(...plus: any[]): any;
sorted(...plus: any[]): any;
reversed(...plus: any[]): any;
join(...plus: any[]): any;
sum(...plus: any[]): any;
average(...plus: any[]): any;
zip(...plus: any[]): any;
enumerate(...plus: any[]): any;
concat(...plus: any[]): any;
flatten(...plus: any[]): any;
toArray(...plus: any[]): any;
toObject(...plus: any[]): any;
toJSON(...plus: any[]): any;
equals(...plus: any[]): any;
clone(...plus: any[]): any;
contentCompare(...plus: any[]): any;
contentEquals(...plus: any[]): any;
sortedSetLog(...plus: any[]): any;
addRangeChangeListener(...plus: any[]): any;
removeRangeChangeListener(...plus: any[]): any;
dispatchRangeChange(...plus: any[]): any;
addBeforeRangeChangeListener(...plus: any[]): any;
removeBeforeRangeChangeListener(...plus: any[]): any;
dispatchBeforeRangeChange(...plus: any[]): any;
addOwnPropertyChangeListener(...plus: any[]): any;
addBeforeOwnPropertyChangeListener(...plus: any[]): any;
removeOwnPropertyChangeListener(...plus: any[]): any;
removeBeforeOwnPropertyChangeListener(...plus: any[]): any;
dispatchOwnPropertyChange(...plus: any[]): any;
dispatchBeforeOwnPropertyChange(...plus: any[]): any;
makePropertyObservable(...plus: any[]): any;
}
class Node<T> {
reduce(cb: (result?: any, val?: any, key?: any, collection?: any) => any,
basis: any, index: number, thisp: any, tree: any, depth: number): any;
touch(...plus: any[]): void;
checkIntegrity(...plus: any[]): number;
getNext(...plus: any[]): Node<T> | undefined;
getPrevious(...plus: any[]): Node<T> | undefined;
summary(...plus: any[]): string;
log(charmap: any, logNode: any, log: any, logAbove: any): any;
}
class Iterator<T> {
next(): {done: true, value: T | null | undefined};
}
export class SortedSet<T> extends AbstractSet {
constructor(
values?: T[],
equals?: (a: T, b: T) => boolean,
compare?: (a: T, b: T) => number,
getDefault?: any
);
constructClone(values?: T[]): SortedSet<T>;
add(value: T): boolean;
clear(): void;
['delete'](value: T): boolean;
find(value: T): Node<T> | undefined;
findGreatest(n?: Node<T> | undefined): Node<T> | undefined;
findGreatestLessThan(value: T): Node<T> | undefined;
findGreatestLessThanOrEqual(value: T): Node<T> | undefined;
findLeast(n?: Node<T> | undefined): Node<T> | undefined;
findLeastGreaterThan(value: T): Node<T> | undefined;
findLeastGreaterThanOrEqual(value: T): Node<T> | undefined;
max(n?: Node<T>): T | undefined;
min(n?: Node<T>): T | undefined;
one(): T | undefined;
get(elt: T): T | undefined;
has(elt: T): boolean;
indexOf(value: T): number;
pop(): T | undefined;
push(...rest: T[]): void;
shift(): T | undefined;
unshift(...rest: T[]): void;
slice(start?: number, end?: number): T[];
splice(start: Node<T>, length: number, ...values: T[]): T[];
swap(start: number, length: number, values?: T[]): T[];
splay(value: T): void;
splayIndex(index: number): boolean;
reduce(callback: (result?: any, val?: any, key?: any, collection?: any) => any,
basis?: any, thisp?: any): any;
reduceRight(
callback: (result?: any, val?: any, key?: any, collection?: any) => any,
basis?: any, thisp?: any
): any;
iterate(start: number, stop: number): Iterator<T>;
}
}
export = internal.SortedSet;
}
+16
View File
@@ -0,0 +1,16 @@
{
"files": [
"collections-tests.ts",
"index.d.ts"
],
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"lib": ["es6"],
"forceConsistentCasingInFileNames": true,
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"noEmit": true
}
}
+1 -1
View File
@@ -2,6 +2,6 @@ import {Server, version, mime} from 'node-static';
let server = new Server(__dirname);
let pathname = server.resolve('./tsconfig.json');
let mimetype = mime.lookup(pathname);
let mimetype = mime.lookup(pathname, '');
let versionNum = version.join('.');
console.log(`The node-static server constructed an instance of itself, fetched the mimetype of ${pathname} (${mimetype}), and has a version of ${versionNum}! The package is working.`);
+1 -1
View File
@@ -2383,7 +2383,7 @@ declare module "net" {
}
export function createServer(connectionListener?: (socket: Socket) => void): Server;
export function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server;
export function connect(options: { port: number, host?: string, localAddress?: string, localPort?: string, family?: number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
export function connect(options: { port: number, host?: string, localAddress?: string, localPort?: number, family?: number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
export function connect(port: number, host?: string, connectionListener?: Function): Socket;
export function connect(path: string, connectionListener?: Function): Socket;
export function createConnection(options: { port: number, host?: string, localAddress?: string, localPort?: string, family?: number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;