Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static function decode(a:Value):Dynamic
- {
- var ret:Dynamic = null;
- if(a==null)
- ret = null;
- else
- switch(a)
- {
- case ANumber(n): ret = n;
- case AString(s): ret = s;
- case AObject(o,len):
- if(len!=null)
- {
- var arr=new Array();
- for(k in o.keys())
- arr[Std.parseInt(k)] = decode(o.get(k));
- ret = arr;
- }
- else
- {
- var obj={};
- for(k in o.keys())
- Reflect.setField(obj, k, decode(o.get(k)));
- ret = obj;
- }
- case AArray(a):
- var out=[];
- for(i in 0...a.length)
- {
- out[i]=decode(a[i]);
- }
- ret = out;
- case ABool(b): ret = b;
- case AUndefined:ret = null;
- case ANull:ret = null;
- case ADate(d):ret = d;
- }
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment