JSON_v0 has been superseded, and it has insidious bugs anyway.
authorLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Fri, 27 Jan 2012 14:05:07 +0000 (09:05 -0500)
committerBill Erickson <berick@esilibrary.com>
Fri, 3 Feb 2012 17:12:37 +0000 (12:12 -0500)
For example, you cannot round-trip this through JSON2js() and js2JSON()
in IE8: http://paste.lisp.org/display/127338

This will make Evergreen's build fail until the change specified in
LP #922609 is applied.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
src/Makefile.am
src/javascript/JSON_v0.js [deleted file]

index 74227f6..1b77959 100644 (file)
@@ -36,7 +36,7 @@ endif
 if INSTALLJAVASCRIPT
 MAYBE_JAVASCRIPT = javascript
 jsdir = $(prefix)/lib/javascript
-js_SCRIPTS = javascript/DojoSRF.js javascript/JSON_v0.js javascript/JSON_v1.js javascript/md5.js javascript/opensrf.js javascript/opensrf_xhr.js javascript/opensrf_xmpp.js
+js_SCRIPTS = javascript/DojoSRF.js javascript/JSON_v1.js javascript/md5.js javascript/opensrf.js javascript/opensrf_xhr.js javascript/opensrf_xmpp.js
 endif
 
 if BUILDCORE
diff --git a/src/javascript/JSON_v0.js b/src/javascript/JSON_v0.js
deleted file mode 100644 (file)
index f0e0971..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-// in case we run on an implimentation that doesn't have "undefined";
-var undefined;
-
-function Cast (obj, class_constructor) {
-    try {
-        if (eval(class_constructor + '["_isfieldmapper"]')) {
-            obj = eval("new " + class_constructor + "(obj)");
-        }
-    } catch( E ) {
-        alert( E + "\n");
-    } finally {
-        return obj;
-    }
-}
-
-function JSON2js (json) {
-
-    json = String(json).replace( /\/\*--\s*S\w*?\s*?\s+\w+\s*--\*\//g, 'Cast(');
-    json = String(json).replace( /\/\*--\s*E\w*?\s*?\s+(\w+)\s*--\*\//g, ', "$1")');
-
-    var obj;
-    if (json != '') {
-        try {
-            eval( 'obj = ' + json );
-        } catch(E) {
-            debug("Error building JSON object with string " + E + "\nString:\n" + json );
-            return null;
-        }
-    }
-    return obj;
-}
-
-
-function object2Array(obj) {
-    if( obj == null ) return null;
-
-    var arr = [];
-    for( var i  = 0; i < obj.length; i++ ) {
-        arr[i] = obj[i];
-    }
-    return arr;
-}
-
-
-function js2JSON(arg) {
-    return _js2JSON(arg);
-}
-
-function _js2JSON(arg) {
-    var i, o, u, v;
-
-        switch (typeof arg) {
-            case 'object':
-    
-                if(arg) {
-    
-                    if (arg._isfieldmapper) { /* magi-c-ast for fieldmapper objects */
-    
-                        if( arg.a.constructor != Array ) {
-                            var arr = []; 
-                            for( var i  = 0; i < arg.a.length; i++ ) {
-                                if( arg.a[i] == null ) {
-                                    arr[i] = null; continue;
-                                }
-    
-                                if( typeof arg.a[i] != 'object' ) { 
-                                    arr[i] = arg.a[i];
-    
-                                } else if( typeof arg.a[i] == 'object' 
-                                            && arg.a[i]._isfieldmapper) {
-    
-                                    arr[i] = arg.a[i];
-    
-                                } else {
-                                    arr[i] = object2Array(arg.a[i]);        
-                                }
-                            }
-                            arg.a = arr;
-                        }
-    
-                        return "/*--S " + arg.classname + " --*/" + js2JSON(arg.a) + "/*--E " + arg.classname + " --*/";
-    
-                    } else {
-    
-                        if (arg.constructor == Array) {
-                            o = '';
-                            for (i = 0; i < arg.length; ++i) {
-                                v = js2JSON(arg[i]);
-                                if (o) {
-                                    o += ',';
-                                }
-                                if (v !== u) {
-                                    o += v;
-                                } else {
-                                    o += 'null';
-                                }
-                            }
-                            return '[' + o + ']';
-    
-                        } else if (typeof arg.toString != 'undefined') {
-                            o = '';
-                            for (i in arg) {
-                                v = js2JSON(arg[i]);
-                                if (v !== u) {
-                                    if (o) {
-                                        o += ',';
-                                    }
-                                    o += js2JSON(i) + ':' + v;
-                                }
-                            }
-    
-                            o = '{' + o + '}';
-                            return o;
-    
-                        } else {
-                            return;
-                        }
-                    }
-                }
-                return 'null';
-    
-            case 'unknown':
-            case 'number':
-                return arg;
-    
-            case 'undefined':
-            case 'function':
-                return u;
-    
-            case 'string':
-            default:
-                return '"' + String(arg).replace(/(["\\])/g, '\\$1') + '"';
-        }
-
-}