Skip to content

Commit d4a5011

Browse files
authored
Merge pull request #13 from fink-lang/fix-insert_at
fix(iter): fix insert_at to insert into empty iterable or at end
2 parents 861ae2f + ce725f9 commit d4a5011

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/iter.fnk

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,24 @@ chain = fn ...iterables:
3030
...iterable
3131

3232

33+
3334
insert_at = fn idx, insert_items: fn items:
35+
ignore = {}
36+
3437
pipe items:
38+
chain ?, [ignore]
39+
3540
map item, curr=0:
3641
all = match curr:
3742
idx: chain insert_items, [item]
3843
else: [item]
3944

4045
(...all, curr + 1)
4146

47+
filter item:
48+
item != ignore
49+
50+
4251

4352
cycle = fn iterable:
4453
pipe [...iterable]:

src/iter.test.fnk

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,20 @@ describe 'iter - transforming funcs', fn:
7676
to_equal
7777
'123abc456'
7878

79+
expect
80+
pipe '1':
81+
insert_at 0, 'abc'
82+
join ''
83+
to_equal
84+
'abc1'
85+
86+
expect
87+
pipe '1':
88+
insert_at 1, 'abc'
89+
join ''
90+
to_equal
91+
'1abc'
92+
7993

8094
it 'creates unique set of items', fn:
8195
expect

0 commit comments

Comments
 (0)