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
70
71
72
73
74
75
76
77
78
|
local enum error_type
"auth"
"cancel"
"continue"
"modify"
"wait"
end
local enum error_condition
"bad-request"
"conflict"
"feature-not-implemented"
"forbidden"
"gone"
"internal-server-error"
"item-not-found"
"jid-malformed"
"not-acceptable"
"not-allowed"
"not-authorized"
"policy-violation"
"recipient-unavailable"
"redirect"
"registration-required"
"remote-server-not-found"
"remote-server-timeout"
"resource-constraint"
"service-unavailable"
"subscription-required"
"undefined-condition"
"unexpected-request"
end
local record protoerror
type : error_type
condition : error_condition
text : string
code : integer
end
local record error
type : error_type
condition : error_condition
text : string
code : integer
context : { any : any }
source : string
end
local type compact_registry_item = { string, string, string, string }
local type compact_registry = { compact_registry_item }
local type registry = { string : protoerror }
local type context = { string : any }
local record error_registry_wrapper
source : string
registry : registry
new : function (string, context) : error
coerce : function (any, string) : any, error
wrap : function (error) : error
wrap : function (string, context) : error
is_error : function (any) : boolean
end
local record lib
record configure_opt
auto_inject_traceback : boolean
end
new : function (protoerror, context, { string : protoerror }, string) : error
init : function (string, string, registry | compact_registry) : error_registry_wrapper
init : function (string, registry | compact_registry) : error_registry_wrapper
is_error : function (any) : boolean
coerce : function (any, string) : any, error
from_stanza : function (table, context, string) : error
configure : function
end
return lib
|