1
1
'use strict'
2
2
const adjustIndex = require ( './adjust-index' )
3
3
const and = require ( './and' )
4
- const concat = require ( './concat ' )
4
+ const arrayify = require ( './arrayify ' )
5
5
const curry = require ( './curry' )
6
6
const decr = require ( './decr' )
7
7
const eq = require ( './eq' )
8
8
const head = require ( './head' )
9
9
const isEmpty = require ( './is-empty' )
10
10
const len = require ( './len' )
11
11
const map = require ( './map' )
12
+ const mapcat = require ( './mapcat' )
12
13
const max = require ( './max' )
13
14
const min = require ( './min' )
14
15
const notArr = require ( './not-arr' )
15
16
const notStr = require ( './not-str' )
16
17
const or = require ( './or' )
17
18
const partitionAt = require ( './partition-at' )
18
- const prepend = require ( './prepend' )
19
19
const sub = require ( './sub' )
20
20
const tail = require ( './tail' )
21
21
@@ -30,7 +30,8 @@ function swap(i, j, xs) {
30
30
31
31
const [ hd , rest ] = partitionAt ( min ( k , n ) , xs )
32
32
const [ md , tl ] = partitionAt ( sub ( max ( k , n ) , len ( hd ) ) , rest )
33
- return concat ( hd , concat ( prepend ( head ( tl ) , tail ( md ) ) , prepend ( head ( md ) , tail ( tl ) ) ) )
33
+
34
+ return mapcat ( arrayify , [ hd , head ( tl ) , tail ( md ) , head ( md ) , tail ( tl ) ] )
34
35
}
35
36
36
37
module . exports = curry ( swap )
0 commit comments