Browse Source

Add {setToB,b}ack. Deprecate {setToP,p}rev.

Herbert Vojčík 7 years ago
parent
commit
65b42cba24
2 changed files with 92 additions and 34 deletions
  1. 75 27
      src/DOMite.js
  2. 17 7
      src/DOMite.st

+ 75 - 27
src/DOMite.js

@@ -270,6 +270,37 @@ messageSends: ["setAttribute:to:"]
 }),
 $globals.Domite);
 
+$core.addMethod(
+$core.method({
+selector: "back",
+protocol: "reading",
+fn: function (){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1;
+$1=self._atStart();
+if($core.assert($1)){
+return nil;
+} else {
+self._setToBack();
+return self._peek();
+}
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"back",{},$globals.Domite)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "back\x0a\x09self atStart\x0a\x09\x09ifTrue: [ ^ nil ]\x0a\x09\x09ifFalse: [ self setToBack. ^ self peek ]",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["ifTrue:ifFalse:", "atStart", "setToBack", "peek"]
+}),
+$globals.Domite);
+
 $core.addMethod(
 $core.method({
 selector: "canSetToUpperLevel",
@@ -717,25 +748,18 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=self._atStart();
-if($core.assert($1)){
-return nil;
-} else {
-self._setToPrev();
-return self._peek();
-}
-return self;
+self._deprecatedAPI_("Use #back instead.");
+return self._back();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"prev",{},$globals.Domite)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "prev\x0a\x09self atStart\x0a\x09\x09ifTrue: [ ^ nil ]\x0a\x09\x09ifFalse: [ self setToPrev. ^ self peek ]",
+source: "prev\x0a\x09self deprecatedAPI: 'Use #back instead.'.\x0a\x09^ self back",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["ifTrue:ifFalse:", "atStart", "setToPrev", "peek"]
+messageSends: ["deprecatedAPI:", "back"]
 }),
 $globals.Domite);
 
@@ -928,6 +952,42 @@ messageSends: ["reference:", "nextSibling", "element", "element:", "parentNode"]
 }),
 $globals.Domite);
 
+$core.addMethod(
+$core.method({
+selector: "setToBack",
+protocol: "positioning",
+fn: function (){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1,$3,$2,$receiver;
+$1=self._atStart();
+if(!$core.assert($1)){
+$3=self._reference();
+if(($receiver = $3) == null || $receiver.isNil){
+$2=$recv(self._element())._lastChild();
+} else {
+var ref;
+ref=$receiver;
+$2=$recv(ref)._previousSibling();
+}
+self._reference_($2);
+}
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"setToBack",{},$globals.Domite)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "setToBack\x0a\x09self atStart ifFalse: [\x0a\x09\x09self reference: (self reference\x0a\x09\x09\x09ifNil: [ self element lastChild ]\x0a\x09\x09\x09ifNotNil: [ :ref | ref previousSibling ])]",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["ifFalse:", "atStart", "reference:", "ifNil:ifNotNil:", "reference", "lastChild", "element", "previousSibling"]
+}),
+$globals.Domite);
+
 $core.addMethod(
 $core.method({
 selector: "setToBefore",
@@ -1019,30 +1079,18 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$receiver;
-$1=self._atStart();
-if(!$core.assert($1)){
-$3=self._reference();
-if(($receiver = $3) == null || $receiver.isNil){
-$2=$recv(self._element())._lastChild();
-} else {
-var ref;
-ref=$receiver;
-$2=$recv(ref)._previousSibling();
-}
-self._reference_($2);
-}
-return self;
+self._deprecatedAPI_("Use #setToBack instead");
+return self._setToBack();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"setToPrev",{},$globals.Domite)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "setToPrev\x0a\x09self atStart ifFalse: [\x0a\x09\x09self reference: (self reference\x0a\x09\x09\x09ifNil: [ self element lastChild ]\x0a\x09\x09\x09ifNotNil: [ :ref | ref previousSibling ])]",
+source: "setToPrev\x0a\x09self deprecatedAPI: 'Use #setToBack instead'.\x0a\x09^ self setToBack",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["ifFalse:", "atStart", "reference:", "ifNil:ifNotNil:", "reference", "lastChild", "element", "previousSibling"]
+messageSends: ["deprecatedAPI:", "setToBack"]
 }),
 $globals.Domite);
 

+ 17 - 7
src/DOMite.st

@@ -223,6 +223,13 @@ setToAfter
 		element: self element parentNode
 !
 
+setToBack
+	self atStart ifFalse: [
+		self reference: (self reference
+			ifNil: [ self element lastChild ]
+			ifNotNil: [ :ref | ref previousSibling ])]
+!
+
 setToBefore
 	self
 		reference: self element;
@@ -239,14 +246,18 @@ setToNext
 !
 
 setToPrev
-	self atStart ifFalse: [
-		self reference: (self reference
-			ifNil: [ self element lastChild ]
-			ifNotNil: [ :ref | ref previousSibling ])]
+	self deprecatedAPI: 'Use #setToBack instead'.
+	^ self setToBack
 ! !
 
 !Domite methodsFor: 'reading'!
 
+back
+	self atStart
+		ifTrue: [ ^ nil ]
+		ifFalse: [ self setToBack. ^ self peek ]
+!
+
 next
 	self atEnd
 		ifTrue: [ ^ nil ]
@@ -262,9 +273,8 @@ peek
 !
 
 prev
-	self atStart
-		ifTrue: [ ^ nil ]
-		ifFalse: [ self setToPrev. ^ self peek ]
+	self deprecatedAPI: 'Use #back instead.'.
+	^ self back
 ! !
 
 !Domite methodsFor: 'streaming'!