From 30fb0dc40d595b9e0b7747ad8e5c4e8cf7e3023b Mon Sep 17 00:00:00 2001 From: s-ol Date: Thu, 1 Nov 2018 21:17:55 +1100 Subject: move mmm code from lib to mmm etc --- lib/dom.server.moon | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 lib/dom.server.moon (limited to 'lib/dom.server.moon') diff --git a/lib/dom.server.moon b/lib/dom.server.moon deleted file mode 100644 index fe6b60c..0000000 --- a/lib/dom.server.moon +++ /dev/null @@ -1,40 +0,0 @@ -import opairs from require 'lib.ordered' - -void_tags = { 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr' } -void_tags = { t,t for t in *void_tags } - -element = (element) -> (...) -> - children = { ... } - - -- attributes are last arguments but mustn't be a ReactiveVar - attributes = children[#children] - if 'table' == (type attributes) and not attributes.node - table.remove children - else - attributes = {} - - b = "<#{element}" - for k,v in opairs attributes - if k == 'style' and 'table' == type v - tmp = '' - for kk, vv in opairs v - tmp ..= "#{kk}: #{vv}; " - v = tmp - b ..= " #{k}=\"#{v}\"" - - -- if there is only one argument, - -- children can be in attributes table too - if #children == 0 - children = attributes - - if void_tags[element] - assert #children == 0, "void tag #{element} cannot have children!" - b .. ">" - else - b ..= ">" .. table.concat children, '' - b ..= "" - b - -setmetatable {}, __index: (name) => - with val = element name - @[name] = val -- cgit v1.2.3