diff src/luan/modules/parsers/Html.java @ 1562:b89212fd04b5

remove table.luan
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 08 Nov 2020 16:50:59 -0700
parents 27efb1fcbcb5
children
line wrap: on
line diff
--- a/src/luan/modules/parsers/Html.java	Thu Nov 05 20:24:09 2020 -0700
+++ b/src/luan/modules/parsers/Html.java	Sun Nov 08 16:50:59 2020 -0700
@@ -12,20 +12,18 @@
 
 public final class Html {
 
-	public static LuanTable toList(Luan luan,String text,LuanTable containerTagsTbl) {
+	public static LuanTable toList(String text,LuanTable containerTagsTbl) {
 		try {
-			return new Html(luan,text,containerTagsTbl).parse();
+			return new Html(text,containerTagsTbl).parse();
 		} catch(LuanException e) {
 			throw new RuntimeException(e);
 		}
 	}
 
-	private final Luan luan;
 	private final Parser parser;
 	private final Set<String> containerTags = new HashSet<String>();
 
-	private Html(Luan luan,String text,LuanTable containerTagsTbl) {
-		this.luan = luan;
+	private Html(String text,LuanTable containerTagsTbl) {
 		this.parser = new Parser(text);
 		for( Object v : containerTagsTbl.asList() ) {
 			containerTags.add((String)v);
@@ -63,7 +61,7 @@
 		}
 		if( sb.length() > 0 )
 			list.add(sb.toString());
-		return new LuanTable(luan,list);
+		return new LuanTable(list);
 	}
 
 	private LuanTable parseComment() throws LuanException {
@@ -76,9 +74,9 @@
 				return parser.failure(null);
 		}
 		String text = parser.textFrom(start);
-		LuanTable tbl = new LuanTable(luan);
-		tbl.put("type","comment");
-		tbl.put("text",text);
+		LuanTable tbl = new LuanTable();
+		tbl.rawPut("type","comment");
+		tbl.rawPut("text",text);
 		return parser.success(tbl);
 	}
 
@@ -92,9 +90,9 @@
 				return parser.failure(null);
 		}
 		String text = parser.textFrom(start);
-		LuanTable tbl = new LuanTable(luan);
-		tbl.put("type","cdata");
-		tbl.put("text",text);
+		LuanTable tbl = new LuanTable();
+		tbl.rawPut("type","cdata");
+		tbl.rawPut("text",text);
 		return parser.success(tbl);
 	}
 
@@ -114,16 +112,16 @@
 				return parser.failure(null);
 		}
 		String text = parser.text.substring(start,end);
-		LuanTable tbl = new LuanTable(luan);
-		tbl.put("type","container");
-		tbl.put("tag",tag);
-		tbl.put("text",text);
+		LuanTable tbl = new LuanTable();
+		tbl.rawPut("type","container");
+		tbl.rawPut("tag",tag);
+		tbl.rawPut("text",text);
 		return parser.success(tbl);
 	}
 
 	private LuanTable parseTag() throws LuanException {
-		LuanTable tbl = new LuanTable(luan);
-		tbl.put("type","tag");
+		LuanTable tbl = new LuanTable();
+		tbl.rawPut("type","tag");
 		int tagStart = parser.begin();
 		if( !parser.match('<') )
 			return parser.failure(null);
@@ -133,26 +131,26 @@
 			return parser.failure(null);
 		while( matchNameChar() );
 		String name = parser.textFrom(start).toLowerCase();
-		tbl.put("name",name);
-		LuanTable attributes = new LuanTable(luan);
-		tbl.put("attributes",attributes);
+		tbl.rawPut("name",name);
+		LuanTable attributes = new LuanTable();
+		tbl.rawPut("attributes",attributes);
 		String attrName;
 		while( (attrName = parseAttrName()) != null ) {
 			String attrValue = parseAttrValue();
-			attributes.put( attrName, attrValue!=null ? attrValue : true );
+			attributes.rawPut( attrName, attrValue!=null ? attrValue : true );
 			if( attrName.equals("style") && attrValue!=null ) {
-				LuanTable style = Css.style(luan,attrValue);
+				LuanTable style = Css.style(attrValue);
 				if( style!=null )
-					tbl.put("style",style);
+					tbl.rawPut("style",style);
 			}
 		}
 		while( matchSpace() );
 		boolean isEmpty = parser.match('/');
-		tbl.put("is_empty",isEmpty);
+		tbl.rawPut("is_empty",isEmpty);
 		if( !parser.match('>') )
 			return parser.failure(null);
 		String raw = parser.textFrom(tagStart);
-		tbl.put("raw",raw);
+		tbl.rawPut("raw",raw);
 		return parser.success(tbl);
 	}