Forráskód Böngészése

Refactoring:
- new AMDBrik
- use the new smalltalk properties in support/smalltalk.js

Nicolas Petton 10 éve
szülő
commit
16e1d7a549
2 módosított fájl, 39 hozzáadás és 6 törlés
  1. 37 3
      support/boot.js
  2. 2 3
      support/smalltalk.js

+ 37 - 3
support/boot.js

@@ -406,11 +406,12 @@ function ClassesBrik(brikz, st) {
 	};
 
 	SmalltalkPackage.prototype.withDefaultTransport = function () {
+		var defaultTransportType = st.getDefaultTransportType();
 		if (this.transport) {
 			throw new Error("Cannot set default transport; transport already set");
 		}
-		if (st._defaultTransportType) {
-			this.transport = { type: st._defaultTransportType };
+		if (st.defaultTransportType) {
+			this.transport = { type: defaultTransportType };
 		}
 		return this;
 	};
@@ -590,7 +591,7 @@ function MethodsBrik(brikz, st) {
 				installNewDnuHandler(dnuHandler);
 			}
 		}
-	}
+	};
 
 	function propagateMethodChange(klass) {
 		// If already initialized (else it will be done later anyway),
@@ -1051,6 +1052,38 @@ function SelectorConversionBrik(brikz, st) {
 	}
 }
 
+/* Adds AMD and requirejs related methods to the smalltalk object */
+function AMDBrik(brikz, st) {
+	var amdRequre;
+	var defaultTransportType = "amd";
+	var defaultAMDNamespace = "amber";
+
+	st.setAMDRequire = function(req) {
+		amdRequre = req;
+	};
+
+	st.getAMDRequire = function() {
+		return amdRequre;
+	};
+
+	st.setDefaultTransportType = function(type) {
+		defaultTransportType = type;
+	};
+
+	st.getDefaultTransportType = function() {
+		return defaultTransportType;
+	};
+
+	st.setDefaultAMDNamespace = function(name) {
+		defaultAMDNamespace = name;
+	};
+
+	st.getDefaultAMDNamespace = function() {
+		return defaultAMDNamespace;
+	};
+}
+
+
 /* Making smalltalk that can load */
 
 brikz.root = RootBrik;
@@ -1063,6 +1096,7 @@ brikz.classes = ClassesBrik;
 brikz.methods = MethodsBrik;
 brikz.stInit = SmalltalkInitBrik;
 brikz.augments = AugmentsBrik;
+brikz.amdBrik = AMDBrik;
 
 brikz.rebuild();
 

+ 2 - 3
support/smalltalk.js

@@ -1,10 +1,9 @@
 define("amber_vm/smalltalk", ["require", "module", "./boot"], function (require, module, boot) {
     var smalltalk = boot.smalltalk;
-    smalltalk._amd_require = require;
-    smalltalk._defaultTransportType = "amd";
+	smalltalk.setAMDRequire(require);
     var config = module.config && module.config();
     if (config) {
-        smalltalk._amd_defaultNamespace = config.defaultNamespace;
+		smalltalk.setDefaultAMDNamespace(config.defaultNamespace);
     }
     return  smalltalk;
 });