This repository was archived by the owner on Mar 8, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocs.jsig
69 lines (61 loc) · 1.41 KB
/
docs.jsig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import { HttpResponse } from "node.http.jsig"
type JSONSchema<containingType: S> : Object
type Statsd : {
increment: (Array<String>) => void,
timing: (Array<String>, Number) => void
}
type MikealRequest : (opts: {
url: String,
method: String,
headers: Object,
timeout: Number,
json: true | Any
}, cb: (Error, HttpResponse & {
body: Any
}) => void) => void
type HandlerOptions : {
requestSchema: JSONSchema,
responseSchema: JSONSchema,
resource: String
}
type TypedRequest : {
url: String,
method?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" |
"DELETE" | "TRACE" | "PATCH",
query?: Object<String, String>,
headers?: Object<String, String>,
body?: Any
}
type TypedResponse : {
httpVersion: String,
statusCode: Number,
headers: Object<String, String>
body?: Any
}
typed-request-client : ({
clientName: String,
statsd: Statsd,
request?: MikealRequest,
now?: () => Number
}) => (
typedRequest: TypedRequest,
opts: HandlerOptions,
cb: (Error, TypedResponse) => void
) => void
type ValidationError : Error & {
message: String,
type: 'ValidationError',
errors: Array<Error>
}
type Result<E <: Error, O> => {
type: 'ok',
ok: O,
error: null
} | {
type: 'error',
ok: null,
error: E
}
typed-request-client/validate-shape : (
shape: T, schema: JSONSchema<S>
) => Result<ValidationError, S <: T>