|
@@ -3243,47 +3243,6 @@ return self;
|
|
|
}; }),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "do:on:do:",
|
|
|
-protocol: "error handling",
|
|
|
-
|
|
|
-args: ["actionBlock", "anErrorClass", "aBlock"],
|
|
|
-source: "do: actionBlock on: anErrorClass do: aBlock\x0a\x09\x22All exceptions thrown in the Smalltalk stack are cought.\x0a\x09Convert all JS exceptions to JavaScriptException instances.\x22\x0a\x09\x0a\x09| smalltalkError |\x0a\x09^ actionBlock\x0a\x09\x09tryIfTrue: [ :error |\x0a\x09\x09\x09smalltalkError := self asSmalltalkException: error.\x0a\x09\x09\x09smalltalkError isKindOf: anErrorClass ]\x0a\x09\x09catch: [ aBlock value: smalltalkError ]",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-pragmas: [],
|
|
|
-messageSends: ["tryIfTrue:catch:", "asSmalltalkException:", "isKindOf:", "value:"]
|
|
|
-}, function ($methodClass){ return function (actionBlock,anErrorClass,aBlock){
|
|
|
-var self=this,$self=this;
|
|
|
-var smalltalkError;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-return $recv(actionBlock)._tryIfTrue_catch_((function(error){
|
|
|
-
|
|
|
-return $core.withContext(function($ctx2) {
|
|
|
-
|
|
|
-smalltalkError=$self._asSmalltalkException_(error);
|
|
|
-return $recv(smalltalkError)._isKindOf_(anErrorClass);
|
|
|
-
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({error:error},$ctx1,1)});
|
|
|
-
|
|
|
-}),(function(){
|
|
|
-
|
|
|
-return $core.withContext(function($ctx2) {
|
|
|
-
|
|
|
-return $recv(aBlock)._value_(smalltalkError);
|
|
|
-
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
|
|
|
-
|
|
|
-}));
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"do:on:do:",{actionBlock:actionBlock,anErrorClass:anErrorClass,aBlock:aBlock,smalltalkError:smalltalkError})});
|
|
|
-
|
|
|
-}; }),
|
|
|
-$globals.SmalltalkImage);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "existsJsGlobal:",
|
|
@@ -3924,6 +3883,50 @@ return self;
|
|
|
}; }),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "try:ifTrue:catch:",
|
|
|
+protocol: "error handling",
|
|
|
+
|
|
|
+args: ["actionBlock", "aBlock", "anotherBlock"],
|
|
|
+source: "try: actionBlock ifTrue: aBlock catch: anotherBlock\x0a\x09\x22Similar to BlockClosure >> tryifTrue:catch:, but\x0a\x09converts all JS exceptions to JavaScriptException instances.\x22\x0a\x09\x0a\x09| smalltalkError |\x0a\x09^ actionBlock\x0a\x09\x09tryIfTrue: [ :error |\x0a\x09\x09\x09smalltalkError := self asSmalltalkException: error.\x0a\x09\x09\x09aBlock value: smalltalkError ]\x0a\x09\x09catch: [ anotherBlock value: smalltalkError ]",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+pragmas: [],
|
|
|
+messageSends: ["tryIfTrue:catch:", "asSmalltalkException:", "value:"]
|
|
|
+}, function ($methodClass){ return function (actionBlock,aBlock,anotherBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+var smalltalkError;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+return $recv(actionBlock)._tryIfTrue_catch_((function(error){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+smalltalkError=$self._asSmalltalkException_(error);
|
|
|
+return $recv(aBlock)._value_(smalltalkError);
|
|
|
+
|
|
|
+$ctx2.sendIdx["value:"]=1;
|
|
|
+
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({error:error},$ctx1,1)});
|
|
|
+
|
|
|
+}),(function(){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+return $recv(anotherBlock)._value_(smalltalkError);
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
|
|
|
+
|
|
|
+}));
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"try:ifTrue:catch:",{actionBlock:actionBlock,aBlock:aBlock,anotherBlock:anotherBlock,smalltalkError:smalltalkError})});
|
|
|
+
|
|
|
+}; }),
|
|
|
+$globals.SmalltalkImage);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "tryAdoptPackageDescriptorsBeyond:",
|