scansion/error.lua

Sun, 30 Dec 2018 09:43:36 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sun, 30 Dec 2018 09:43:36 +0000
changeset 164
14500a149b31
parent 111
25530dccf696
permissions
-rw-r--r--

client: Ignore timeout timer if we received a stanza

64
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local error_mt = {
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 __tostring = function (e)
111
25530dccf696 scansion.error, client: Change error syntax slightly, so first param is identifier string
Matthew Wild <mwild1@gmail.com>
parents: 104
diff changeset
3 return tostring(e.text or e.type or ("<Scansion error: "..tostring(e)..">"));
64
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 end;
104
fb915f3a9c89 scansion.error: Add __name and is() for identifying scansion errors
Matthew Wild <mwild1@gmail.com>
parents: 64
diff changeset
5 __name = "scansion error";
64
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 };
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 return {
111
25530dccf696 scansion.error, client: Change error syntax slightly, so first param is identifier string
Matthew Wild <mwild1@gmail.com>
parents: 104
diff changeset
9 new_error = function (type, data)
25530dccf696 scansion.error, client: Change error syntax slightly, so first param is identifier string
Matthew Wild <mwild1@gmail.com>
parents: 104
diff changeset
10 return setmetatable({ type = type, text = data.text, data = data }, error_mt);
64
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 end;
104
fb915f3a9c89 scansion.error: Add __name and is() for identifying scansion errors
Matthew Wild <mwild1@gmail.com>
parents: 64
diff changeset
12 is = function (err)
fb915f3a9c89 scansion.error: Add __name and is() for identifying scansion errors
Matthew Wild <mwild1@gmail.com>
parents: 64
diff changeset
13 return getmetatable(err) == error_mt;
fb915f3a9c89 scansion.error: Add __name and is() for identifying scansion errors
Matthew Wild <mwild1@gmail.com>
parents: 64
diff changeset
14 end;
64
f0a1f82b8e04 scansion.error: Util for creating error objects
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 };

mercurial