Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
minifier [08.01.2019 15:16]
Steven Piccand
minifier [23.05.2019 14:44] (Version actuelle)
Steven Piccand
Ligne 1: Ligne 1:
 Version 2.01 : Version 2.01 :
 - correction de deep_print(<​table>​) - correction de deep_print(<​table>​)
 +Version 2.02 :
 +- amélioration du deep_print(<​table>​)
  
 <code lua> <code lua>
Ligne 48: Ligne 50:
 if (not tools) then  if (not tools) then 
   tools = {    tools = { 
-    version = "2.01",+    version = "2.02",
     addstyle = "",​     addstyle = "",​
     isdebug = false,     isdebug = false,
Ligne 90: Ligne 92:
       return (s:​gsub("​^%s*(.-)%s*$",​ "​%1"​))       return (s:​gsub("​^%s*(.-)%s*$",​ "​%1"​))
     end,     end,
-    deep_print = function(tbl+    ​collect_keys = function(t, sort) local _k = {} for k in pairs(t) do _k[#_k+1] = k end table.sort(_k,​ sort) return _k end, 
-      for i, v in pairs(tbl) do +    sortedPairs = function(t, sort) local keys = tools.collect_keys(t,​ sort) local i = 0 return function() i = i + 1 if keys[i] then return keys[i], t[keys[i]] end end end, 
-        if type(v) == "​table"​ then  +    ​deep_print = function(tableau, parent) 
-          tools.deep_print(v+      local par = parent or ""​ 
-        else  +      for k,v in tools.sortedPairs(tableau) do 
-          print(iv+        local res = par .. "-- " .. k 
 +        print(res) 
 +        if (type(v) == "​table"​then 
 +          tools.deep_print(v, ​par .. " ​ ")
         end         end
       end       end
Ligne 140: Ligne 145:
 Version [[https://​mothereff.in/​lua-minifier|minifiée]] Version [[https://​mothereff.in/​lua-minifier|minifiée]]
 <file lua toolsminifier.lua>​ <file lua toolsminifier.lua>​
-if not tools then tools={version="​2.01",​addstyle="",​isdebug=false,​log=function(a,​b,​c)a=tools.tostring(a)for d,e in string.gmatch(a,"​(#​spaces(%d+)#​)"​)do local f=""​for g=1,e do f=f.."​."​end;​a=string.gsub(a,​d,"<​span style=\"​color:​black;"​..tools.addstyle.."​\">"​..f.."</​span>"​)end;​if tools.isdebug or c then fibaro:​debug("<​span style=\"​color:"​..(b or"​white"​)..";"​..tools.addstyle.."​\">"​..a.."</​span>"​)end end,​error=function(a,​b)tools.log(a,​b or"​red",​true)end,​warning=function(a,​b)tools.log(a,​b or"​orange",​true)end,​info=function(a,​b)tools.log(a,​b or"​white",​true)end,​debug=function(a,​b)tools.log(a,​b or"​gray",​false)end,​tostring=function(h)if type(h)=="​boolean"​then if h then return"​true"​else return"​false"​end elseif type(h)=="​table"​then if json then return json.encode(h)else return"​table found"​end else return tostring(h)end end,​split=function(i,​j)local j,k=j or":",​{}local l=string.format("​([^%s]+)",​j)i:​gsub(l,​function(m)k[#​k+1]=m end)return k end,​trim=function(n)return n:​gsub("​^%s*(.-)%s*$","​%1"​)end,​deep_print=function(o)for g,p in pairs(o)do if type(p)=="​table"​then tools.deep_print(p)else print(g,p)end end end,​iif=function(q,r,s)if then return ​else return ​end end,​cut=function(t,u)u=or 10;if u<t:len()then return ​t:sub(1,u-3).."​..."​end;​return ​end,​isNumber=function(v)if type(v)=="​number"​then return true end;if type(v)=="​string"​then return type(tonumber(v))=="​number"​end;​return false end,​getStringTime=function(w)if then return os.date("​%H:​%M:​%S"​)end;​return os.date("​%H:​%M"​)end,​toTime=function(x)local ​y,z=string.match(x,"​(%d+):​(%d+)"​)local ​A=os.date("​*t"​)local ​B=os.time{year=A.year,​month=A.month,day=A.day,hour=y,min=z,​sec=0}if ​B<​os.time()then ​B=os.time{year=A.year,​month=A.month,day=A.day+1,​hour=y,min=z,​sec=0}end;​return ​end,​getStringDate=function()return os.date("​%d/​%m/​%Y"​)end,​isNil=function(C)return type(C)=="​nil"​end,​isNotNil=function(C)return not tools.isNil(C)end}end+if not tools then tools={version="​2.02",​addstyle="",​isdebug=false,​log=function(a,​b,​c)a=tools.tostring(a)for d,e in string.gmatch(a,"​(#​spaces(%d+)#​)"​)do local f=""​for g=1,e do f=f.."​."​end;​a=string.gsub(a,​d,"<​span style=\"​color:​black;"​..tools.addstyle.."​\">"​..f.."</​span>"​)end;​if tools.isdebug or c then fibaro:​debug("<​span style=\"​color:"​..(b or"​white"​)..";"​..tools.addstyle.."​\">"​..a.."</​span>"​)end end,​error=function(a,​b)tools.log(a,​b or"​red",​true)end,​warning=function(a,​b)tools.log(a,​b or"​orange",​true)end,​info=function(a,​b)tools.log(a,​b or"​white",​true)end,​debug=function(a,​b)tools.log(a,​b or"​gray",​false)end,​tostring=function(h)if type(h)=="​boolean"​then if h then return"​true"​else return"​false"​end elseif type(h)=="​table"​then if json then return json.encode(h)else return"​table found"​end else return tostring(h)end end,​split=function(i,​j)local j,k=j or":",​{}local l=string.format("​([^%s]+)",​j)i:​gsub(l,​function(m)k[#​k+1]=m end)return k end,​trim=function(n)return n:​gsub("​^%s*(.-)%s*$","​%1"​)end,​collect_keys=function(o,​p)local q={}for r in pairs(o)do ​q[#q+1]=r end;​table.sort(q,​p)return q end,​sortedPairs=function(o,​p)local s=tools.collect_keys(o,​p)local g=0;return function()g=g+1;​if s[g]then return s[g],​o[s[g]]end end end,​deep_print=function(t,​u)local v=u or""​for r,w in tools.sortedPairs(t)do local x=v.."​-- "​..r;​print(x)if type(w)=="​table"​then tools.deep_print(w,v.." ​ ")end end end,​iif=function(y,z,A)if then return ​else return ​end end,​cut=function(B,C)C=or 10;if C<B:len()then return ​B:sub(1,C-3).."​..."​end;​return ​end,​isNumber=function(D)if type(D)=="​number"​then return true end;if type(D)=="​string"​then return type(tonumber(D))=="​number"​end;​return false end,​getStringTime=function(E)if then return os.date("​%H:​%M:​%S"​)end;​return os.date("​%H:​%M"​)end,​toTime=function(F)local ​G,H=string.match(F,"​(%d+):​(%d+)"​)local ​I=os.date("​*t"​)local ​o=os.time{year=I.year,​month=I.month,day=I.day,hour=G,min=H,​sec=0}if ​o<​os.time()then ​o=os.time{year=I.year,​month=I.month,day=I.day+1,​hour=G,min=H,​sec=0}end;​return ​end,​getStringDate=function()return os.date("​%d/​%m/​%Y"​)end,​isNil=function(J)return type(J)=="​nil"​end,​isNotNil=function(J)return not tools.isNil(J)end}end
 </​file>​ </​file>​