var Spec={isValidSpecText:function(e){return!!e&&!(e.indexOf(":")>=0||e.indexOf("|")>=0||e.indexOf("'")>=0||e.indexOf('"')>=0||e.indexOf("\\")>=0)},removeEmptyValueSpec:function(e){for(var n=[],r=0;r<e.length;r++)e[r].values.length>0&&n.push(e[r]);return n.length?n:[]},unified2KeyValue:function(e){if(!e)return null;for(var n=e.split("|"),r={},t=0;t<n.length;t++){var u=n[t].split(":");r[u[0]]=u[1]}return r},keyValue2Unify:function(e){e.sort(function(e,n){return e.name>n.name});for(var n=[],r=0;r<e.length;r++)n.push(e[r].name+":"+e[r].value);return n.join("|")},unify:function(e){function n(e,n){for(var r=[],t=0;t<e.length;t++)for(var u=0;u<n.length;u++)r.push(e[t]+"|"+n[u]);return r}e=Spec.removeEmptyValueSpec(e),e.sort(function(e,n){return e.name>n.name});for(var r=[],t=0;t<e.length;t++){for(var u=[],f=0;f<e[t].values.length;f++)u.push(e[t].name+":"+e[t].values[f]);r.push(u)}if(0==r.length)return[];if(1==r.length)return r[0];for(var a=n(r[0],r[1]),i=2;;){if(!r[i])break;a=n(a,r[i]),i++}return a}};module.exports=Spec;