File tree Expand file tree Collapse file tree 5 files changed +30
-4
lines changed Expand file tree Collapse file tree 5 files changed +30
-4
lines changed Original file line number Diff line number Diff line change @@ -8,8 +8,8 @@ import Node from './Node.js';
8
8
* @param {Node } y First node of second input list.
9
9
*/
10
10
export default function _concat ( z , y ) {
11
- assert ( z instanceof Node && z . next === null ) ;
12
- assert ( y instanceof Node && y . prev === null ) ;
11
+ assert ( z instanceof Node ) ;
12
+ assert ( y instanceof Node ) ;
13
13
z . next = y ;
14
14
y . prev = z ;
15
15
}
Original file line number Diff line number Diff line change
1
+ import assert from 'assert' ;
2
+ import Node from './Node.js' ;
3
+ import _concat from './_concat.js' ;
4
+
5
+ /**
6
+ * Erase range [x, y) from list. Range cannot be empty.
7
+ *
8
+ * @param {Node } x Inclusive beginning of range to erase.
9
+ * @param {Node } y Exclusive end of range to erase.
10
+ */
11
+ export default function _erase ( x , y ) {
12
+ assert ( x instanceof Node ) ;
13
+ _concat ( x . prev , y ) ;
14
+ }
Original file line number Diff line number Diff line change 1
1
import assert from 'assert' ;
2
2
import Node from './Node.js' ;
3
+ import _erase from './_erase.js' ;
3
4
4
5
/**
5
6
* Removes input {@link Node} from its list. Cannot be first or last, use
@@ -12,6 +13,5 @@ import Node from './Node.js';
12
13
*/
13
14
export default function _remove ( x ) {
14
15
assert ( x instanceof Node ) ;
15
- x . prev . next = x . next ;
16
- x . next . prev = x . prev ;
16
+ _erase ( x , x . next ) ;
17
17
}
Original file line number Diff line number Diff line change 1
1
export { default as Node } from './Node.js' ;
2
2
export { default as _concat } from './_concat.js' ;
3
+ export { default as _erase } from './_erase.js' ;
3
4
export { default as _extend } from './_extend.js' ;
4
5
export { default as _iter } from './_iter.js' ;
5
6
export { default as _iter_fast } from './_iter_fast.js' ;
Original file line number Diff line number Diff line change
1
+ import test from 'ava' ;
2
+
3
+ import { list } from '@iterable-iterator/list' ;
4
+
5
+ import { values , from , _remove } from '#module' ;
6
+
7
+ test ( '_remove' , ( t ) => {
8
+ const l = from ( 'abc' ) ;
9
+ _remove ( l . next ) ;
10
+ t . is ( list ( values ( l ) ) . join ( '' ) , 'ac' ) ;
11
+ } ) ;
You can’t perform that action at this time.
0 commit comments