Skip to content

Commit 93fe021

Browse files
committed
Add Path#addSegment(s) and #insertSegment(s) and define #add() and #insert() as a switch between these versions based on the amount and nature of parameters.
1 parent 7894a48 commit 93fe021

1 file changed

Lines changed: 30 additions & 2 deletions

File tree

src/path/Path.js

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,40 @@ var Path = this.Path = PathItem.extend({
182182

183183
// TODO: Port back support for adding multiple segments at once to Sg
184184
add: function(segment1 /*, segment2, ... */) {
185-
return this._add(Segment.readAll(arguments), true);
185+
return arguments.length > 1 && typeof segment1 != 'number'
186+
// addSegments
187+
? this._add(Segment.readAll(arguments), true)
188+
// addSegment
189+
: this._add([ Segment.read(arguments) ], true)[0];
186190
},
187191

188192
// TODO: Port back support for adding multiple segments at once to Sg
189193
insert: function(index, segment1 /*, segment2, ... */) {
190-
return this._add(Segment.readAll(arguments, 1), true, index);
194+
return arguments.length > 2 && typeof segment1 != 'number'
195+
// insertSegments
196+
? this._add(Segment.readAll(arguments, 1), true, index)
197+
// insertSegment
198+
: this._add([ Segment.read(arguments, 1) ], true, index)[0];
199+
},
200+
201+
// TODO: Port back to Sg
202+
addSegment: function(segment) {
203+
return this._add([ Segment.read(arguments) ], true)[0];
204+
},
205+
206+
// TODO: Port back to Sg
207+
insertSegment: function(index, segment) {
208+
return this._add([ Segment.read(arguments, 1) ], true, index)[0];
209+
},
210+
211+
// TODO: Port back to Sg
212+
addSegments: function(segments) {
213+
return this._add(Segment.readAll(segments), true);
214+
},
215+
216+
// TODO: Port back to Sg
217+
insertSegments: function(index, segments) {
218+
return this._add(Segment.readAll(segments), true, index);
191219
},
192220

193221
// TODO: Port back to Sg

0 commit comments

Comments
 (0)