@@ -25,7 +25,7 @@ Elm.Native.Show.make = function(elm) {
25 return "'" + addSlashes(v) + "'";
25 return "'" + addSlashes(v) + "'";
26 } else if (type === "string") {
26 } else if (type === "string") {
27 return '"' + addSlashes(v) + '"';
27 return '"' + addSlashes(v) + '"';
28− } else if (type === "object" && '_' in v) {
28+ } else if (type === "object" && '_' in v && probablyPublic(v)) {
29 var output = [];
29 var output = [];
30 for (var k in v._) {
30 for (var k in v._) {
31 for (var i = v._[k].length; i--; ) {
31 for (var i = v._[k].length; i--; ) {
@@ -91,5 +91,26 @@ Elm.Native.Show.make = function(elm) {
91 .replace(/\"/g, '\\"');
91 .replace(/\"/g, '\\"');
94+ function probablyPublic(v) {
95+ var keys = Object.keys(v);
96+ var len = keys.length;
99+ && 'element' in v) return false;
101+ && 'horizontal' in v
104+ && 'y' in v) return false;
111+ && 'form' in v) return false;
94 return elm.Native.Show.values = { show:toString };
115 return elm.Native.Show.values = { show:toString };