Fri, 01 Feb 2019 11:22:20 +0000
docs: Add initial documentation
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 | }; |