Skip to content

Commit d181b04

Browse files
TimothyMischieflutovich
authored andcommitted
Started Adding Type Definitions
Covered All Externals I think. First time writing Type Definitions so anyone else feel free to take over and do a better job.
1 parent b0ccd38 commit d181b04

19 files changed

+690
-1
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"vinyl-source-stream": "^1.1.0"
6666
},
6767
"dependencies": {
68+
"@types/node": "^6.0.54",
6869
"babel-runtime": "^6.18.0"
6970
}
7071
}

src/index.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import * as v1 from "./v1/index";
2+
export { v1 }
3+
export default v1;

src/v1/driver.d.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import { Promise } from "core-js";
2+
3+
import Session from "./session";
4+
import Pool from "./internal/pool";
5+
import Integer from "./integer";
6+
import { connect, Connection } from "./internal/connector";
7+
import StreamObserver from "./internal/stream-observer";
8+
import { newError, SERVICE_UNAVAILABLE } from "./error";
9+
10+
interface AuthCredentials {
11+
scheme: string;
12+
principal: string;
13+
credentials: string;
14+
realm?: string;
15+
parameters?: {[key: string]: any};
16+
}
17+
18+
interface ConfigurationOptions {
19+
encrypted?: string;
20+
trust?: string;
21+
trustedCertificates?: any[];
22+
knownHosts?: string;
23+
}
24+
25+
declare type READ = "READ";
26+
declare type WRITE = "WRITE";
27+
28+
declare class Driver {
29+
constructor(url: string,
30+
userAgent: string,
31+
token: AuthCredentials,
32+
config: ConfigurationOptions)
33+
34+
_createConnection( url: string,
35+
release: ( url: string, conn: Connection ) => void
36+
): Connection;
37+
38+
static _validateConnection( conn: Connection ): Boolean
39+
40+
_destroyConnection( conn: Connection ): void;
41+
42+
session( mode: string ): Session;
43+
44+
_acquireConnection( mode: string ): Promise<Connection>;
45+
46+
_createSession(connectionPromise: Promise<Connection>, cb: Function): Session;
47+
48+
close(): void;
49+
}
50+
51+
declare class _ConnectionStreamObserver extends StreamObserver {
52+
constructor( driver: Driver, conn: Connection )
53+
54+
onError( error: Error ): void;
55+
56+
onCompleted( message: any ): void;
57+
}
58+
59+
export { Driver, READ, WRITE, AuthCredentials, ConfigurationOptions }
60+
61+
export default Driver;

src/v1/error.d.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
type SERVICE_UNAVAILABLE = "ServiceUnavailable";
2+
type SESSION_EXPIRED = "SessionExpired";
3+
4+
declare function newError( message: any, code: string ): Neo4jError;
5+
6+
declare class Neo4jError extends Error {
7+
constructor( message: any, code: string )
8+
}
9+
10+
export {
11+
newError,
12+
Neo4jError,
13+
SERVICE_UNAVAILABLE,
14+
SESSION_EXPIRED,
15+
}

src/v1/graph-types.d.ts

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
declare class Node {
2+
constructor(identity: string,
3+
labels: string[],
4+
properties: Object
5+
)
6+
7+
toString(): string;
8+
}
9+
10+
declare class Relationship {
11+
identity: string;
12+
start: string;
13+
end: string;
14+
type: string;
15+
properties: Object;
16+
17+
constructor(identity: string,
18+
start: string,
19+
end: string,
20+
type: string,
21+
properties: Object)
22+
23+
toString(): string;
24+
}
25+
26+
declare class UnboundRelationship {
27+
identity: string;
28+
type: string;
29+
properties: Object;
30+
31+
constructor(identity: string,
32+
type: string,
33+
properties: Object)
34+
35+
bind( start: string, end: string ): Relationship;
36+
37+
toString(): string;
38+
}
39+
40+
declare class PathSegment {
41+
start: string;
42+
rel: Relationship;
43+
end: string;
44+
45+
constructor(start: string,
46+
rel: Relationship,
47+
end: string)
48+
}
49+
50+
declare class Path {
51+
start: Node;
52+
end: Node;
53+
segments: PathSegment[];
54+
}
55+
56+
export {
57+
Node,
58+
Relationship,
59+
UnboundRelationship,
60+
Path,
61+
PathSegment
62+
}

src/v1/index.d.ts

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
import {int, isInt, inSafeRange, toNumber, toString} from "./integer";
2+
import {Node, Relationship, UnboundRelationship, PathSegment, Path} from "./graph-types";
3+
import {Neo4jError, SERVICE_UNAVAILABLE, SESSION_EXPIRED} from "./error";
4+
import Result from "./result";
5+
import ResultSummary from "./result-summary";
6+
import Record from "./record";
7+
import {Driver, READ, WRITE, AuthCredentials, ConfigurationOptions} from "./driver";
8+
import RoutingDriver from "./routing-driver";
9+
import VERSION from "../version";
10+
import {parseScheme, parseUrl} from "./internal/connector";
11+
12+
declare type auth = {
13+
basic: (username: string,
14+
password: string,
15+
realm?: string ) => AuthCredentials,
16+
custom: ( principal: string,
17+
credentials: string,
18+
realm: string,
19+
scheme: string,
20+
parameters?: {[key: string]: any} ) => AuthCredentials,
21+
};
22+
23+
declare type USER_AGENT= string;
24+
25+
declare function driver(url: string,
26+
authToken: AuthCredentials,
27+
config: ConfigurationOptions ): Driver;
28+
29+
declare type types = {
30+
Node,
31+
Relationship,
32+
UnboundRelationship,
33+
PathSegment,
34+
Path,
35+
Result,
36+
ResultSummary,
37+
Record
38+
};
39+
40+
declare type session = {
41+
READ,
42+
WRITE
43+
};
44+
45+
declare type error = {
46+
SERVICE_UNAVAILABLE,
47+
SESSION_EXPIRED
48+
};
49+
declare type integer = {
50+
toNumber,
51+
toString,
52+
inSafeRange
53+
};
54+
55+
declare type forExport = {
56+
driver,
57+
int,
58+
isInt,
59+
integer,
60+
Neo4jError,
61+
auth,
62+
types,
63+
session,
64+
error,
65+
AuthCredentials,
66+
ConfigurationOptions,
67+
};
68+
69+
export {
70+
driver,
71+
int,
72+
isInt,
73+
integer,
74+
Neo4jError,
75+
auth,
76+
types,
77+
session,
78+
error,
79+
AuthCredentials,
80+
ConfigurationOptions,
81+
}
82+
83+
export default forExport;

src/v1/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,6 @@ export {
187187
auth,
188188
types,
189189
session,
190-
error
190+
error,
191191
}
192192
export default forExport

src/v1/integer.d.ts

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
import { newError } from "./error";
2+
3+
declare class Integer {
4+
low: number;
5+
high: number;
6+
7+
constructor( low: number, high: number )
8+
9+
inSafeRange(): boolean;
10+
11+
toInt(): number;
12+
13+
toNumber(): number;
14+
15+
toString(): string;
16+
17+
getHighBits(): number;
18+
19+
getLowBits(): number;
20+
21+
getNumBitsAbs(): number;
22+
23+
isZero(): boolean;
24+
25+
isNegative(): boolean;
26+
27+
isPositive(): boolean;
28+
29+
isOdd(): boolean;
30+
31+
isEven(): boolean;
32+
33+
equals( other: Integer | number | string ): boolean;
34+
35+
notEquals( other: Integer | number | string ): boolean;
36+
37+
lessThan( other: Integer | number | string ): boolean;
38+
39+
lessThanOrEqual( other: Integer | number | string ): boolean;
40+
41+
greaterThan( other: Integer | number | string ): boolean;
42+
43+
greaterThanOrEqual( other: Integer | number | string ): boolean;
44+
45+
compare( other: Integer | number | string ): number;
46+
47+
negate(): Integer;
48+
49+
add( addend: Integer | number | string ): Integer;
50+
51+
subtract( subtrahend: Integer | number | string ): Integer;
52+
53+
multiply( multiplier: Integer | number | string ): Integer;
54+
55+
div( divisor: Integer | number | string ): Integer;
56+
57+
modulo( divisor: Integer | number | string ): Integer;
58+
59+
not(): Integer;
60+
61+
and( other: Integer | number | string ): Integer;
62+
63+
or( other: Integer | number | string ): Integer;
64+
65+
xor( other: Integer | number | string ): Integer;
66+
67+
shiftLeft( numBits: Integer | number ): Integer;
68+
69+
shiftRight( numBits: Integer | number ): Integer;
70+
71+
static __isInteger__: true;
72+
73+
static isInteger(obj: Object): boolean;
74+
75+
static fromInt(value: number): Integer;
76+
static fromNumber(value: number): Integer;
77+
static fromBits(lowBits: number, highBits: number): Integer;
78+
static fromString(str: string, radix?: number): Integer;
79+
static fromValue(val: Integer | number | string | {low: number, high: number}): Integer;
80+
static toNumber(val: Integer | number | string | {low: number, high: number}): number;
81+
static toString(val: Integer | number | string | {low: number, high: number}, radix?: number): Integer;
82+
static inSafeRange(val: Integer | number | string | {low: number, high: number}): boolean;
83+
84+
static ZERO: Integer;
85+
static ONE: Integer;
86+
static NEG_ONE: Integer;
87+
static MAX_VALUE: Integer;
88+
static MIN_VALUE: Integer;
89+
static MIN_SAFE_VALUE: Integer;
90+
static MAX_SAFE_VALUE: Integer;
91+
}
92+
93+
declare function int(val: Integer | number | string | {low: number, high: number}): Integer;
94+
declare function isInt(obj: Object): boolean;
95+
declare function inSafeRange(val: Integer | number | string | {low: number, high: number}): boolean;
96+
declare function toNumber(val: Integer | number | string | {low: number, high: number}): number;
97+
declare function toString(val: Integer | number | string | {low: number, high: number}, radix?: number): Integer;
98+
99+
declare type TWO_PWR_16_DBL = number;
100+
declare type TWO_PWR_24_DBL = number;
101+
declare type TWO_PWR_32_DBL = number;
102+
declare type TWO_PWR_64_DBL = number;
103+
declare type TWO_PWR_63_DBL = number;
104+
declare type TWO_PWR_24 = Integer;
105+
106+
declare type INT_CACHE = Object;
107+
108+
export {
109+
int,
110+
isInt,
111+
inSafeRange,
112+
toNumber,
113+
toString
114+
}
115+
116+
export default Integer;

0 commit comments

Comments
 (0)