Mercurial Hosting > luan
annotate src/luan/modules/Parsers.luan @ 1802:ca98dee04e08 default tip
add Parsers.json_null
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 21 Apr 2024 21:25:15 -0600 |
parents | f8f5c51f5b36 |
children |
rev | line source |
---|---|
1353
8d95711f6615
replace java() with require "java"
Franklin Schmidt <fschmidt@gmail.com>
parents:
1261
diff
changeset
|
1 require "java" |
1712
36c28be6d432
improve html and bbcode
Franklin Schmidt <fschmidt@gmail.com>
parents:
1705
diff
changeset
|
2 local BBCode = require "java:goodjava.bbcode.BBCode" |
1702 | 3 local BBCodeLuan = require "java:luan.modules.parsers.BBCodeLuan" |
585 | 4 local Csv = require "java:luan.modules.parsers.Csv" |
687 | 5 local Theme = require "java:luan.modules.parsers.Theme" |
1466 | 6 local Xml = require "java:luan.modules.parsers.Xml" |
1791 | 7 local Xml2 = require "java:luan.modules.parsers.Xml2" |
1469 | 8 local XmlElement = require "java:goodjava.xml.XmlElement" |
1419
59fd2e8b1b9d
stringify and json_string
Franklin Schmidt <fschmidt@gmail.com>
parents:
1402
diff
changeset
|
9 local BasicLuan = require "java:luan.modules.BasicLuan" |
585 | 10 |
1112 | 11 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
794
diff
changeset
|
12 local Parsers = {} |
585 | 13 |
1712
36c28be6d432
improve html and bbcode
Franklin Schmidt <fschmidt@gmail.com>
parents:
1705
diff
changeset
|
14 Parsers.bbcode_encode = BBCode.encode |
1705
a6e27c8e7ef4
bbcode now returns data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1702
diff
changeset
|
15 Parsers.bbcode_parse = BBCodeLuan.parse |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
794
diff
changeset
|
16 Parsers.csv_to_list = Csv.toList |
1802
ca98dee04e08
add Parsers.json_null
Franklin Schmidt <fschmidt@gmail.com>
parents:
1791
diff
changeset
|
17 Parsers.json_null = BasicLuan.json_null |
1419
59fd2e8b1b9d
stringify and json_string
Franklin Schmidt <fschmidt@gmail.com>
parents:
1402
diff
changeset
|
18 Parsers.json_string = BasicLuan.json_string |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
794
diff
changeset
|
19 Parsers.theme_to_luan = Theme.toLuan |
1469 | 20 Parsers.xml_encode = XmlElement.encode |
1466 | 21 Parsers.xml_parse = Xml.parse |
22 Parsers.xml_string = Xml.toString | |
1791 | 23 Parsers.xml2_parse = Xml2.parse |
24 Parsers.xml2_string = Xml2.toString | |
585 | 25 |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1192
diff
changeset
|
26 local Luan = require "luan:Luan.luan" |
1261
198d6af7330a
rename Luan.to_table to Table.java_to_table_shallow and Luan.to_luan to Table.java_to_table_deep
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
27 local error = Luan.error |
198d6af7330a
rename Luan.to_table to Table.java_to_table_shallow and Luan.to_luan to Table.java_to_table_deep
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
28 local type = Luan.type or error() |
198d6af7330a
rename Luan.to_table to Table.java_to_table_shallow and Luan.to_luan to Table.java_to_table_deep
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
29 local Table = require "luan:Table.luan" |
198d6af7330a
rename Luan.to_table to Table.java_to_table_shallow and Luan.to_luan to Table.java_to_table_deep
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
30 local java_to_table_deep = Table.java_to_table_deep or error() |
1402
27efb1fcbcb5
move luan.lib to goodjava
Franklin Schmidt <fschmidt@gmail.com>
parents:
1353
diff
changeset
|
31 local JsonParser = require "java:goodjava.json.JsonParser" |
1774
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
32 local ParseException = require "java:goodjava.parser.ParseException" |
1112 | 33 |
34 -- converts json string to luan object | |
1192 | 35 function Parsers.json_parse(s) |
1774
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
36 local obj |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
37 try |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
38 obj = JsonParser.parse(s) |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
39 catch e |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
40 local java = e.java.getCause() |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
41 if java~=nil and java.instanceof(ParseException) then |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
42 e.message = java.getSuperMessage() |
1775 | 43 e.text = java.text |
44 e.error_index = java.errorIndex | |
45 e.high_index = java.highIndex | |
1774
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
46 end |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
47 e.throw() |
764723436f05
better json_parse exception
Franklin Schmidt <fschmidt@gmail.com>
parents:
1712
diff
changeset
|
48 end |
1261
198d6af7330a
rename Luan.to_table to Table.java_to_table_shallow and Luan.to_luan to Table.java_to_table_deep
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
49 return type(obj)=="java" and java_to_table_deep(obj) or obj |
1113 | 50 end |
51 | |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
794
diff
changeset
|
52 return Parsers |