diff modules/json.tp @ 329:eef8a5cea812

Use a smarter algorithm for calculating module init order and break some circular module dependencies in the standard library
author Michael Pavone <pavone@retrodev.com>
date Sat, 28 Mar 2015 13:26:03 -0700
parents ddf38b66b2e2
children 3d36d69aab7f
line wrap: on
line diff
--- a/modules/json.tp	Wed Mar 25 00:16:37 2015 -0700
+++ b/modules/json.tp	Sat Mar 28 13:26:03 2015 -0700
@@ -165,22 +165,7 @@
 		}
 
 		encode <- :value {
-			if: (object does: value understand?: "jsonEncode") {
-				value jsonEncode
-			} else: {
-				toEncode <- #[]
-				if: (object does: value understand?: "serializeFields") {
-					toEncode <- value serializeFields
-				} else: {
-					toEncode <- object propertiesOf: value
-				}
-				parts <- #[]
-				foreach: toEncode :idx field {
-					fieldVal <- object sendMessage: field to: value
-					parts append: (field jsonEncode) . ":" . (encode: fieldVal)
-				}
-				"{" . (parts join: ",") . "}"
-			}
+			jsonEncoder encode: value
 		}
 
 		main <- {