diff --git a/examples/basic/upload.html b/examples/basic/upload.html index 86e12cb5..f93db1b4 100644 --- a/examples/basic/upload.html +++ b/examples/basic/upload.html @@ -23,7 +23,7 @@ $('html, #upload').upload(function resize(eve, up){ gun.get('test').get((eve.id+(new Date).getUTCSeconds()) % 60).put(b64); // limit uploads to 1 of 60 slots. }); -gun.get('test').map().on(function(data){ +gun.get('test').map().once(function(data){ if("string" != typeof data){ return } var type = data.split(';')[0], ui; if(type.indexOf('image') + 1){ ui = $("img").get(0) } diff --git a/lib/yson.js b/lib/yson.js index ae78ad1c..6242d11e 100644 --- a/lib/yson.js +++ b/lib/yson.js @@ -34,7 +34,8 @@ yson.parseAsync = function(text, done, revive, M){ if(ctx.at instanceof Array){ ctx.at.push(ctx.s = tmp); } else { - ctx.at[ctx.s] = ctx.s = tmp; + if(!ctx.at){ ctx.end = j = M; tmp = u } + (ctx.at||{})[ctx.s] = ctx.s = tmp; } } else { ctx.s = s.slice(ctx.sl, i); @@ -88,7 +89,8 @@ yson.parseAsync = function(text, done, revive, M){ if(ctx.at instanceof Array){ ctx.at.push(tmp); } else { - ctx.at[ctx.s] = tmp; + if(!ctx.at){ ctx.end = j = M; tmp = u } + (ctx.at||{})[ctx.s] = tmp; } } } diff --git a/test/rad/old2020json/! b/test/rad/old2020json/! new file mode 100644 index 00000000..fd36fbaf --- /dev/null +++ b/test/rad/old2020json/! @@ -0,0 +1 @@ +{"~":{"@testing123\u001b~6LHYiwdkGMqW45nTBKAjUNO_OyxIauOltwNKF-9mJCQ.yqQrGr1yC-N0VBahwYnbnt9D9Y05OoaQbcPneDzM-3A":{"":{":":{"#":"~6LHYiwdkGMqW45nTBKAjUNO_OyxIauOltwNKF-9mJCQ.yqQrGr1yC-N0VBahwYnbnt9D9Y05OoaQbcPneDzM-3A"},">":1620286970976}},"6LHYiwdkGMqW45nTBKAjUNO_OyxIauOltwNKF-9mJCQ.yqQrGr1yC-N0VBahwYnbnt9D9Y05OoaQbcPneDzM-3A":{"\u001b":{"pub":{"":{":":"6LHYiwdkGMqW45nTBKAjUNO_OyxIauOltwNKF-9mJCQ.yqQrGr1yC-N0VBahwYnbnt9D9Y05OoaQbcPneDzM-3A",">":1620286970971}},"epub":{"":{":":"{\":\":\"qIKEeDg23hc0ylkyTsPeXcsBwWwiR4spJZ4wbD2bcek.UN75LS5RWe3IStRPuDKXDt-ia2XCDLQbP9oVhYezF04\",\"~\":\"9NuEZuTzsBv8intGrpFb4rISVigiVMV9kxF9bAs3XGK/1A/E154XUJaFmergCIu6pINPao+3HAEYxfOV1HKqaA==\"}",">":1620286970971}},"a":{"lias":{"":{":":"{\":\":\"testing123\",\"~\":\"/UTDwurvc52XoZoNOoVaF6Uncc9VzRBomczHKidrnbMcJIIxbLJiezYHONGXe5RIWmVZoLWrGjqUYf/1DuRHJQ==\"}",">":1620286970971}},"uth":{"":{":":"{\":\":\"{\\\"ek\\\":{\\\"ct\\\":\\\"fmyGN0w0PFd/7K8+KjZW4id75XGpOn9MdbJIMbvJTHv2AdjEX3LHCMrykXdiAEZtwinJSMyE6qFE+q3AaelijOirYZoC1LicFWuoptFYqwKuiyEdchv1IoEglK4umLhFpb8LJ25oXXK2eTFJUrLWmqP4tE95IbdLyn5CLA==\\\",\\\"iv\\\":\\\"zK8ZPmlek+jlXHV1JSAG\\\",\\\"s\\\":\\\"jftXz+L2GhWh\\\"},\\\"s\\\":\\\"9P4PBBEXdj55gLTtHgkHis4ukesIEu5ULyogvnglH0pFpcPtKEWSgtb9jRCw42kt\\\"}\",\"~\":\"vQLL5kA1BXmingXaDyTD7s62ZQHzHbFz5u4OS6rWh0Y64xjYo7DiBGmXyUDkxX9UlB1PVdGAIapp6OWLwl3Gag==\"}",">":1620286970971}}},"said":{"":{":":"{\":\":{\"#\":\"~6LHYiwdkGMqW45nTBKAjUNO_OyxIauOltwNKF-9mJCQ.yqQrGr1yC-N0VBahwYnbnt9D9Y05OoaQbcPneDzM-3A/said\"},\"~\":\"Qm4q1ZLXnSeJ0KazwtWYuWqMMFzKWJIOuthAyVS5tpRnhV84VCjvtQBcbsivsh68oX+7fTa5038cAeiymwK8Xg==\"}",">":1620286972880}}},"/said\u001bkoc":{"l1":{"2":{"a7X2NnZMH":{"":{":":"{\":\":\"b\",\"~\":\"/296iLEq5Rhl0xnw0PVOZnWmFb//tJa3fKmFf9zeuUk2vXo5aCA61Fn5V91oAPLSaQAOB4cMYeInTRq/wusxng==\"}",">":1620286973647.001}},"w0fVwD9SF":{"":{":":"{\":\":\"c\",\"~\":\"CR6+M3CnW+BdD4gISJvCDGaYHPnBUgUFTcLV6wHRjbIWrsXg1orxvMPFB/I0djggfQyIHTd7WbwneEt4BD/P2g==\"}",">":1620286974432.001}}},"1ov2HGy3pP":{"":{":":"{\":\":\"a\",\"~\":\"rxavUWplLfAH7yRRz7WOTeiqA5cVB5Pe0MBsaK85R3N9AmL81afktynkCmvIgu0C+Vd4dS3v/OG64lIwv7Kxow==\"}",">":1620286972880}},"a2msNGEG5j":{"":{":":"{\":\":\"cool\",\"~\":\"hIlAjwklp07vhR6qd0aHFHd988Sdz6RVIwfiV5gwdK7/Cy0LWdIE8N+8tK1rnZdkVA7DKzRuPClk+P5EdPbGHQ==\"}",">":1620286983744}}},"m2":{"rgfrjl4ph4":{"":{":":"{\":\":\"sweet\",\"~\":\"z4xeMjvp00yjuMiesSh3V4NenXiYbItmgLZbrtPjwmCQhsJev2BZB2TGTLd/xBTOMNEea3pPnB6M4iiflk3QvA==\"}",">":1620288732544}},"shv4QO5daU":{"":{":":"{\":\":\"neat\",\"~\":\"AzzHhVdxtT0ZZVRFWEWUYBP7Tm6eYFBTc7xTRiz6xyMoSeJsHSFvC65gSu5yTRG0N8ykSBQDxkCxECWb2XIJ4w==\"}",">":1620288733891.001}},"td2ZtiM4kP":{"":{":":"{\":\":\"cool\",\"~\":\"Sh8Hr491IAcTPI4sv0/bZG7hBCfyHGG2+mEqFzXoAbOmaUZqmcYSqeXuuMRpnQtIJFwwbTc8eC97gOAwABvwyQ==\"}",">":1620288735014.001}}}}}},"#\u001buU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek=":{"":{":":"hello world",">":1620599842832}},"test\u001bpaste":{"":{":":"hello world!!!",">":1629535024341}}} \ No newline at end of file diff --git a/test/rad/old2020json/%1C b/test/rad/old2020json/%1C new file mode 100644 index 00000000..4337f21d --- /dev/null +++ b/test/rad/old2020json/%1C @@ -0,0 +1 @@ +{"!":{"":1}} \ No newline at end of file