view src/luan/modules/Parsers.luan @ 1353:8d95711f6615

replace java() with require "java"
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 20 Mar 2019 17:03:29 -0600
parents 198d6af7330a
children 27efb1fcbcb5
line wrap: on
line source

require "java"
local BBCode = require "java:luan.modules.parsers.BBCode"
local Csv = require "java:luan.modules.parsers.Csv"
local Theme = require "java:luan.modules.parsers.Theme"


local Parsers = {}

Parsers.bbcode_to_html = BBCode.toHtml
Parsers.bbcode_to_text = BBCode.toText
Parsers.csv_to_list = Csv.toList
Parsers.theme_to_luan = Theme.toLuan

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 LuanJava = require "java:luan.Luan"
local JsonParser = require "java:luan.lib.json.JsonParser"
local JsonToString = require "java:luan.lib.json.JsonToString"

-- converts json string to luan object
function Parsers.json_parse(s)
	local obj = JsonParser.parse(s)
	return type(obj)=="java" and java_to_table_deep(obj) or obj
end

-- converts luan object to json string
function Parsers.json_string(obj)
	return JsonToString.toString(LuanJava.toJava(obj))
end

function Parsers.json_compressed_string(obj)
	return JsonToString.toCompressedString(LuanJava.toJava(obj))
end

return Parsers