Mercurial Hosting > luan
view src/luan/modules/Parsers.luan @ 1791:f8f5c51f5b36
xml work
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 26 Dec 2023 19:16:18 -0700 |
parents | e380ab6c0c78 |
children | ca98dee04e08 |
line wrap: on
line source
require "java" local BBCode = require "java:goodjava.bbcode.BBCode" local BBCodeLuan = require "java:luan.modules.parsers.BBCodeLuan" local Csv = require "java:luan.modules.parsers.Csv" local Theme = require "java:luan.modules.parsers.Theme" local Xml = require "java:luan.modules.parsers.Xml" local Xml2 = require "java:luan.modules.parsers.Xml2" local XmlElement = require "java:goodjava.xml.XmlElement" local BasicLuan = require "java:luan.modules.BasicLuan" local Parsers = {} Parsers.bbcode_encode = BBCode.encode Parsers.bbcode_parse = BBCodeLuan.parse Parsers.csv_to_list = Csv.toList Parsers.json_string = BasicLuan.json_string Parsers.theme_to_luan = Theme.toLuan Parsers.xml_encode = XmlElement.encode Parsers.xml_parse = Xml.parse Parsers.xml_string = Xml.toString Parsers.xml2_parse = Xml2.parse Parsers.xml2_string = Xml2.toString local Luan = require "luan:Luan.luan" local error = Luan.error local type = Luan.type or error() local Table = require "luan:Table.luan" local java_to_table_deep = Table.java_to_table_deep or error() local JsonParser = require "java:goodjava.json.JsonParser" local ParseException = require "java:goodjava.parser.ParseException" -- converts json string to luan object function Parsers.json_parse(s) local obj try obj = JsonParser.parse(s) catch e local java = e.java.getCause() if java~=nil and java.instanceof(ParseException) then e.message = java.getSuperMessage() e.text = java.text e.error_index = java.errorIndex e.high_index = java.highIndex end e.throw() end return type(obj)=="java" and java_to_table_deep(obj) or obj end return Parsers