Przeglądaj źródła

DRYing through Package>>transport

Herbert Vojčík 10 lat temu
rodzic
commit
734a54a24c
3 zmienionych plików z 58 dodań i 27 usunięć
  1. 20 9
      js/Importer-Exporter.deploy.js
  2. 31 15
      js/Importer-Exporter.js
  3. 7 3
      st/Importer-Exporter.st

+ 20 - 9
js/Importer-Exporter.deploy.js

@@ -1008,13 +1008,12 @@ smalltalk.method({
 selector: "commit",
 fn: function (){
 var self=this;
-function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st($PackageHandler())._for_(self._transportType()))._commit_(self);
+$1=_st(self._transport())._commit_(self);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commit",{},smalltalk.Package)})},
-messageSends: ["commit:", "for:", "transportType"]}),
+messageSends: ["commit:", "transport"]}),
 smalltalk.Package);
 
 smalltalk.addMethod(
@@ -1022,7 +1021,6 @@ smalltalk.method({
 selector: "commitPathJs",
 fn: function (){
 var self=this;
-function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
 return smalltalk.withContext(function($ctx1) { 
 var $3,$2,$1;
 $3=self["@extension"];
@@ -1034,11 +1032,11 @@ $2=$3;
 };
 $1=_st($2)._at_ifAbsentPut_("commitPathJs",(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st($PackageHandler())._for_(self._transportType()))._commitPathJsFor_(self);
+return _st(self._transport())._commitPathJsFor_(self);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commitPathJs",{},smalltalk.Package)})},
-messageSends: ["at:ifAbsentPut:", "commitPathJsFor:", "for:", "transportType", "ifNil:"]}),
+messageSends: ["at:ifAbsentPut:", "commitPathJsFor:", "transport", "ifNil:"]}),
 smalltalk.Package);
 
 smalltalk.addMethod(
@@ -1066,7 +1064,6 @@ smalltalk.method({
 selector: "commitPathSt",
 fn: function (){
 var self=this;
-function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
 return smalltalk.withContext(function($ctx1) { 
 var $3,$2,$1;
 $3=self["@extension"];
@@ -1078,11 +1075,11 @@ $2=$3;
 };
 $1=_st($2)._at_ifAbsentPut_("commitPathSt",(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st($PackageHandler())._for_(self._transportType()))._commitPathStFor_(self);
+return _st(self._transport())._commitPathStFor_(self);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commitPathSt",{},smalltalk.Package)})},
-messageSends: ["at:ifAbsentPut:", "commitPathStFor:", "for:", "transportType", "ifNil:"]}),
+messageSends: ["at:ifAbsentPut:", "commitPathStFor:", "transport", "ifNil:"]}),
 smalltalk.Package);
 
 smalltalk.addMethod(
@@ -1105,6 +1102,20 @@ return $1;
 messageSends: ["at:put:", "ifNil:"]}),
 smalltalk.Package);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "transport",
+fn: function (){
+var self=this;
+function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st($PackageHandler())._for_(self._transportType());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"transport",{},smalltalk.Package)})},
+messageSends: ["for:", "transportType"]}),
+smalltalk.Package);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "transportType",

+ 31 - 15
js/Importer-Exporter.js

@@ -1251,16 +1251,15 @@ selector: "commit",
 category: '*Importer-Exporter',
 fn: function (){
 var self=this;
-function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st($PackageHandler())._for_(self._transportType()))._commit_(self);
+$1=_st(self._transport())._commit_(self);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commit",{},smalltalk.Package)})},
 args: [],
-source: "commit\x0a\x09^ (PackageHandler for: self transportType) commit: self",
-messageSends: ["commit:", "for:", "transportType"],
-referencedClasses: ["PackageHandler"]
+source: "commit\x0a\x09^ self transport commit: self",
+messageSends: ["commit:", "transport"],
+referencedClasses: []
 }),
 smalltalk.Package);
 
@@ -1270,7 +1269,6 @@ selector: "commitPathJs",
 category: '*Importer-Exporter',
 fn: function (){
 var self=this;
-function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
 return smalltalk.withContext(function($ctx1) { 
 var $3,$2,$1;
 $3=self["@extension"];
@@ -1282,14 +1280,14 @@ $2=$3;
 };
 $1=_st($2)._at_ifAbsentPut_("commitPathJs",(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st($PackageHandler())._for_(self._transportType()))._commitPathJsFor_(self);
+return _st(self._transport())._commitPathJsFor_(self);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commitPathJs",{},smalltalk.Package)})},
 args: [],
-source: "commitPathJs\x0a\x09^ (extension ifNil: [ extension := #{} ]) at: #commitPathJs ifAbsentPut: [(PackageHandler for: self transportType) commitPathJsFor: self]",
-messageSends: ["at:ifAbsentPut:", "commitPathJsFor:", "for:", "transportType", "ifNil:"],
-referencedClasses: ["PackageHandler"]
+source: "commitPathJs\x0a\x09^ (extension ifNil: [ extension := #{} ]) at: #commitPathJs ifAbsentPut: [self transport commitPathJsFor: self]",
+messageSends: ["at:ifAbsentPut:", "commitPathJsFor:", "transport", "ifNil:"],
+referencedClasses: []
 }),
 smalltalk.Package);
 
@@ -1324,7 +1322,6 @@ selector: "commitPathSt",
 category: '*Importer-Exporter',
 fn: function (){
 var self=this;
-function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
 return smalltalk.withContext(function($ctx1) { 
 var $3,$2,$1;
 $3=self["@extension"];
@@ -1336,14 +1333,14 @@ $2=$3;
 };
 $1=_st($2)._at_ifAbsentPut_("commitPathSt",(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st($PackageHandler())._for_(self._transportType()))._commitPathStFor_(self);
+return _st(self._transport())._commitPathStFor_(self);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commitPathSt",{},smalltalk.Package)})},
 args: [],
-source: "commitPathSt\x0a\x09^ (extension ifNil: [ extension := #{} ]) at: #commitPathSt ifAbsentPut: [(PackageHandler for: self transportType) commitPathStFor: self]",
-messageSends: ["at:ifAbsentPut:", "commitPathStFor:", "for:", "transportType", "ifNil:"],
-referencedClasses: ["PackageHandler"]
+source: "commitPathSt\x0a\x09^ (extension ifNil: [ extension := #{} ]) at: #commitPathSt ifAbsentPut: [self transport commitPathStFor: self]",
+messageSends: ["at:ifAbsentPut:", "commitPathStFor:", "transport", "ifNil:"],
+referencedClasses: []
 }),
 smalltalk.Package);
 
@@ -1372,6 +1369,25 @@ referencedClasses: []
 }),
 smalltalk.Package);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "transport",
+category: '*Importer-Exporter',
+fn: function (){
+var self=this;
+function $PackageHandler(){return smalltalk.PackageHandler||(typeof PackageHandler=="undefined"?nil:PackageHandler)}
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st($PackageHandler())._for_(self._transportType());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"transport",{},smalltalk.Package)})},
+args: [],
+source: "transport\x0a\x09^ PackageHandler for: self transportType",
+messageSends: ["for:", "transportType"],
+referencedClasses: ["PackageHandler"]
+}),
+smalltalk.Package);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "transportType",

+ 7 - 3
st/Importer-Exporter.st

@@ -549,11 +549,11 @@ loadPackages: aCollection prefix: aString
 !Package methodsFor: '*Importer-Exporter'!
 
 commit
-	^ (PackageHandler for: self transportType) commit: self
+	^ self transport commit: self
 !
 
 commitPathJs
-	^ (extension ifNil: [ extension := #{} ]) at: #commitPathJs ifAbsentPut: [(PackageHandler for: self transportType) commitPathJsFor: self]
+	^ (extension ifNil: [ extension := #{} ]) at: #commitPathJs ifAbsentPut: [self transport commitPathJsFor: self]
 !
 
 commitPathJs: aString
@@ -561,13 +561,17 @@ commitPathJs: aString
 !
 
 commitPathSt
-	^ (extension ifNil: [ extension := #{} ]) at: #commitPathSt ifAbsentPut: [(PackageHandler for: self transportType) commitPathStFor: self]
+	^ (extension ifNil: [ extension := #{} ]) at: #commitPathSt ifAbsentPut: [self transport commitPathStFor: self]
 !
 
 commitPathSt: aString
 	^ (extension ifNil: [ extension := #{} ]) at: #commitPathSt put: aString
 !
 
+transport
+	^ PackageHandler for: self transportType
+!
+
 transportType
 	<return (self.transport && self.transport.type) || 'unknown';>
 ! !