Browse Source

Default AMD namespace can be specifed

Herbert Vojčík 10 years ago
parent
commit
b56b0b776e
6 changed files with 42 additions and 6 deletions
  1. 7 0
      helios.html
  2. 7 0
      index.html
  3. 11 1
      js/Importer-Exporter.deploy.js
  4. 13 3
      js/Importer-Exporter.js
  5. 2 1
      st/Importer-Exporter.st
  6. 2 1
      support/smalltalk.js

+ 7 - 0
helios.html

@@ -13,6 +13,13 @@
       <script type='text/javascript' src='support/amber.js'></script>
       <script type='text/javascript' src='support/requirejs/require.min.js'></script>
       <script type='text/javascript'>
+          require.config({
+              config: {
+                  'amber_vm/smalltalk': {
+                      defaultNamespace: 'amber'
+                  }
+              }
+          });
           require(
                   ["amber_vm/smalltalk", "amber_set/full-devel-helios"],
                   function (smalltalk) {

+ 7 - 0
index.html

@@ -11,6 +11,13 @@
 
 <body>
 <script type='text/javascript'>
+    require.config({
+        config: {
+            'amber_vm/smalltalk': {
+                defaultNamespace: 'amber'
+            }
+        }
+    });
     require(
         ["amber_vm/smalltalk", "amber_set/full-devel"],
         function (smalltalk) {

+ 11 - 1
js/Importer-Exporter.deploy.js

@@ -1203,9 +1203,19 @@ smalltalk.method({
 selector: "commitPathsFromLoader",
 fn: function (){
 var self=this;
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(_st($Smalltalk())._current())._at_("_amd_defaultNamespace");
+if(($receiver = $1) == nil || $receiver == undefined){
+$1;
+} else {
+var namespace;
+namespace=$receiver;
+self._defaultNamespace_(namespace);
+};
 return self}, function($ctx1) {$ctx1.fill(self,"commitPathsFromLoader",{},smalltalk.AmdPackageHandler.klass)})},
-messageSends: []}),
+messageSends: ["ifNotNil:", "defaultNamespace:", "at:", "current"]}),
 smalltalk.AmdPackageHandler.klass);
 
 smalltalk.addMethod(

+ 13 - 3
js/Importer-Exporter.js

@@ -1514,12 +1514,22 @@ selector: "commitPathsFromLoader",
 category: 'commit paths',
 fn: function (){
 var self=this;
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(_st($Smalltalk())._current())._at_("_amd_defaultNamespace");
+if(($receiver = $1) == nil || $receiver == undefined){
+$1;
+} else {
+var namespace;
+namespace=$receiver;
+self._defaultNamespace_(namespace);
+};
 return self}, function($ctx1) {$ctx1.fill(self,"commitPathsFromLoader",{},smalltalk.AmdPackageHandler.klass)})},
 args: [],
-source: "commitPathsFromLoader\x0a\x09\x22TODO\x22",
-messageSends: [],
-referencedClasses: []
+source: "commitPathsFromLoader\x0a\x09(Smalltalk current at: '_amd_defaultNamespace')\x0a\x09\x09ifNotNil: [ :namespace | self defaultNamespace: namespace ]",
+messageSends: ["ifNotNil:", "defaultNamespace:", "at:", "current"],
+referencedClasses: ["Smalltalk"]
 }),
 smalltalk.AmdPackageHandler.klass);
 

+ 2 - 1
st/Importer-Exporter.st

@@ -712,7 +712,8 @@ AmdPackageHandler class instanceVariableNames: 'defaultNamespace'!
 !AmdPackageHandler class methodsFor: 'commit paths'!
 
 commitPathsFromLoader
-	"TODO"
+	(Smalltalk current at: '_amd_defaultNamespace')
+		ifNotNil: [ :namespace | self defaultNamespace: namespace ]
 !
 
 defaultNamespace

+ 2 - 1
support/smalltalk.js

@@ -1,6 +1,7 @@
-define("amber_vm/smalltalk", ["require", "./boot"], function (require, boot) {
+define("amber_vm/smalltalk", ["require", "module", "./boot"], function (require, module, boot) {
     var smalltalk = boot.smalltalk;
     smalltalk._amd_require = require;
+    smalltalk._amd_defaultNamespace = module.config().defaultNamespace;
     return  smalltalk;
 });