Mercurial Hosting > luan
annotate src/luan/modules/Luan.luan @ 1260:4b5b84853f6f
replace Table.as_table with Luan.to_table
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 23 Sep 2018 22:32:34 -0600 |
parents | e8020216dee7 |
children | 198d6af7330a |
rev | line source |
---|---|
321
7f7708e8fdd4
remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
320
diff
changeset
|
1 java() |
7f7708e8fdd4
remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
320
diff
changeset
|
2 local BasicLuan = require "java:luan.modules.BasicLuan" |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
3 local LuanJava = require "java:luan.Luan" |
297
899253043270
remove PackageLuan.load_lib()
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
4 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
5 local Luan = {} |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
6 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
7 Luan.get_metatable = BasicLuan.get_metatable |
1095
2443152dc2f1
add Luan.hash_code() and Table.hash_value()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1088
diff
changeset
|
8 Luan.hash_code = BasicLuan.hash_code |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
9 Luan.ipairs = BasicLuan.ipairs |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
10 Luan.load = BasicLuan.load |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
11 Luan.load_file = BasicLuan.load_file |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
12 Luan.new_error = BasicLuan.new_error |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
13 Luan.pairs = BasicLuan.pairs |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
14 Luan.pcall = BasicLuan.pcall |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
15 Luan.range = BasicLuan.range |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
16 Luan.raw_equal = BasicLuan.raw_equal |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
17 Luan.raw_get = BasicLuan.raw_get |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
18 Luan.raw_len = BasicLuan.raw_len |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
19 Luan.raw_set = BasicLuan.raw_set |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
20 Luan.set_metatable = BasicLuan.set_metatable |
1189 | 21 Luan.stringify = BasicLuan.stringify |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
22 Luan.to_string = BasicLuan.to_string |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
23 Luan.try = BasicLuan.try_ |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
24 Luan.type = BasicLuan.type |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
25 Luan.values = BasicLuan.values |
503 | 26 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
27 function Luan.do_file(uri) |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
28 return Luan.load_file(uri)() |
473
bab5607a0eed
move do_file implementation to luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
448
diff
changeset
|
29 end |
bab5607a0eed
move do_file implementation to luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
448
diff
changeset
|
30 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
31 Luan.VERSION = Luan.do_file "classpath:luan/version.luan" |
442
75ccb4da803f
move assert() implementation to luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
441
diff
changeset
|
32 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
33 function Luan.error(message) |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
34 Luan.new_error(message).throw() |
481
5d4a78c93383
luan errors are now tables
Franklin Schmidt <fschmidt@gmail.com>
parents:
473
diff
changeset
|
35 end |
5d4a78c93383
luan errors are now tables
Franklin Schmidt <fschmidt@gmail.com>
parents:
473
diff
changeset
|
36 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
37 function Luan.eval(s,source_name) |
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
38 return Luan.load( "return "..s, source_name or "eval" )() |
694
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
39 end |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
40 |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
41 |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
42 local error = Luan.error |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
43 local type = Luan.type or error() |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
44 local pairs = Luan.pairs or error() |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
45 |
1260
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
46 Luan.to_table = LuanJava.toTable |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
47 |
1260
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
48 local function to_luan(obj,to_table) |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
49 if type(obj) ~= "java" then |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
50 return obj |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
51 end |
1260
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
52 obj = to_table(obj) or error("can't convert type "..obj.getClass().getName().." to luan") |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
53 local tbl = {} |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
54 for key, value in pairs(obj) do |
1260
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
55 key = to_luan(key,to_table) |
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
56 value = to_luan(value,to_table) |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
57 tbl[key] = value |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
58 end |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
59 return tbl |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
60 end |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1189
diff
changeset
|
61 |
1260
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
62 function Luan.to_luan(obj,to_table) |
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
63 to_table = to_table or Luan.to_table |
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
64 return to_luan(obj,to_table) |
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
65 end |
4b5b84853f6f
replace Table.as_table with Luan.to_table
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
66 |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
67 return Luan |