Mercurial Hosting > luan
view src/luan/modules/Luan.luan @ 1259:e8020216dee7
add Luan.to_luan and fix multipart/form-data
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 23 Sep 2018 17:58:40 -0600 |
parents | 73d754b1889f |
children | 4b5b84853f6f |
line wrap: on
line source
java() local BasicLuan = require "java:luan.modules.BasicLuan" local LuanJava = require "java:luan.Luan" local Luan = {} Luan.get_metatable = BasicLuan.get_metatable Luan.hash_code = BasicLuan.hash_code Luan.ipairs = BasicLuan.ipairs Luan.load = BasicLuan.load Luan.load_file = BasicLuan.load_file Luan.new_error = BasicLuan.new_error Luan.pairs = BasicLuan.pairs Luan.pcall = BasicLuan.pcall Luan.range = BasicLuan.range Luan.raw_equal = BasicLuan.raw_equal Luan.raw_get = BasicLuan.raw_get Luan.raw_len = BasicLuan.raw_len Luan.raw_set = BasicLuan.raw_set Luan.set_metatable = BasicLuan.set_metatable Luan.stringify = BasicLuan.stringify Luan.to_string = BasicLuan.to_string Luan.try = BasicLuan.try_ Luan.type = BasicLuan.type Luan.values = BasicLuan.values function Luan.do_file(uri) return Luan.load_file(uri)() end Luan.VERSION = Luan.do_file "classpath:luan/version.luan" function Luan.error(message) Luan.new_error(message).throw() end function Luan.eval(s,source_name) return Luan.load( "return "..s, source_name or "eval" )() end local error = Luan.error local type = Luan.type or error() local pairs = Luan.pairs or error() -- tries to convert to luan function Luan.java_to_luan(obj) return LuanJava.toTable(obj) or obj end function Luan.to_luan(obj,java_to_luan) if type(obj) ~= "java" then return obj end java_to_luan = java_to_luan or Luan.java_to_luan obj = java_to_luan(obj) type(obj) ~= "java" or error("can't convert type "..obj.getClass().getName().." to luan") if type(obj) ~= "table" then return obj end local tbl = {} for key, value in pairs(obj) do key = Luan.to_luan(key,java_to_luan) value = Luan.to_luan(value,java_to_luan) tbl[key] = value end return tbl end return Luan