dudaodong
6f035f710e
feat: add DifferenceBy func
2022-01-23 14:27:37 +08:00
dudaodong
92967e0add
fix: TestCompact for blank string case
2022-01-22 21:21:12 +08:00
dudaodong
6a1a0b8677
feat: add Concat func
2022-01-22 21:16:34 +08:00
dudaodong
0efe2f57c3
merge main
2022-01-19 20:47:47 +08:00
dudaodong
28317a1683
feat: remove ConvertSlice func
2022-01-19 20:41:46 +08:00
dudaodong
6f1feb96d6
experimental feature, algorithm/sorter.go try to implements sort function with go generics
2022-01-14 17:01:44 +08:00
dudaodong
d46d12f949
feat: add func ContainSubSlice
2022-01-13 11:52:21 +08:00
dudaodong
e31fb28003
feat: add func ContainSubSlice
2022-01-13 11:00:27 +08:00
dudaodong
22798fd750
fix: fix some go report issue
2022-01-12 10:01:48 +08:00
dudaodong
907df56f86
update: make func comment consistent
2022-01-11 20:27:06 +08:00
donutloop
f147f78a41
Slice: sort from v2 branch ( #22 )
...
ref: f1d7154179
2022-01-11 20:13:25 +08:00
dudaodong
3dadfa234b
update: make func comment consistent
2022-01-11 19:33:15 +08:00
donutloop
f1d7154179
refactor: sort ( #21 )
...
Removed reverse func because it use to much cpu and add test cas for asc sort
2022-01-11 19:24:36 +08:00
dudaodong
6e626851cf
merge #pr20
2022-01-11 18:12:57 +08:00
donutloop
c906d8aea7
Slice: group by and without v2 ( #20 )
...
* Slice: group by and without v2
Migrate from reflection to generic
* update doc
2022-01-11 18:11:01 +08:00
dudaodong
e5e4e09308
comment without func
2022-01-11 18:10:21 +08:00
dudaodong
7ed173849a
refactor: rewrite DeleteByIndex, InsertByIndex, UpdateByIndex and Without func with generics
2022-01-11 18:08:22 +08:00
donutloop
24c0d95112
Slice: reverse and shufffle v2 ( #19 )
...
* Slice: reverse and shufffle v2
Migrate from reflection to generic form
Note: after migration, old reverse must be removed
* Suffle test: remove reflection calls
* Reverse test: change name of test
2022-01-10 19:52:23 +08:00
dudaodong
e9fed34729
fmt: slice.go
2022-01-10 10:27:20 +08:00
dudaodong
9caefdb67d
fmt: slice.go
2022-01-10 10:24:33 +08:00
dudaodong
b0e9758e0d
Merge branch 'v2' of github.com:duke-git/lancet into v2
2022-01-09 22:15:18 +08:00
donutloop
7b9a8a55e7
Slice: CountV2 ( #18 )
...
Use generic instead of reflection
2022-01-09 22:15:03 +08:00
dudaodong
44ac82e8b8
refactor: rewrite some slice functions with go generics
2022-01-09 22:14:46 +08:00
dudaodong
c4b4cb1173
merge master: rewrite all unit test functions with assert
2022-01-09 18:33:00 +08:00
dudaodong
3438f3b18a
refactor: rewrite all unit test functions with assert
2022-01-09 13:07:49 +08:00
donutloop
30d798366b
Slice: find v2 ( #17 )
...
* If slice len is zero then return false
* Convert find to generic form.
* If return T is nil then no items matched the predicate func
2022-01-07 20:19:27 +08:00
dudaodong
3e9a2b5c59
refactor: refact Filter, ForEach, Map func with generics
2022-01-07 17:53:55 +08:00
dudaodong
1343683b08
checkout v2 branch for generics migration
2022-01-07 17:48:00 +08:00
donutloop
3905c0bde1
Slice: Add count func ( #15 )
...
Returns the count of matched elements
2022-01-06 20:32:14 +08:00
dudaodong
df9de3065b
feat: add ForEach func
2022-01-05 20:17:16 +08:00
dudaodong
71a2ea3f20
update: change case name for TestNone func
2022-01-05 19:46:51 +08:00
donutloop
4aef9d6d22
Slice: Add none func ( #13 )
...
Returns true whether no elements of this slice match the provided predicate
func. Negated form of Every func
2022-01-05 19:38:14 +08:00
donutloop
bc39b0887b
Filter: remove second loop and indexes slice ( #12 )
...
Use less memory and cpu resources to filter out elements from the slice.
2022-01-03 20:10:15 +08:00
dudaodong
7a9b0847f9
fix: fix some go line issue in go report card
2022-01-03 14:57:14 +08:00
donutloop
f15131f032
Slice: find nothing case ( #11 )
...
The current behavior can result into wired edge cases.
**Current behavior**
if find was unsuccessfully then it will return the first element of the
slice
**Desired behavior**
if find was unsuccessfully then it should return negative ok and a none
value
2022-01-02 22:05:27 +08:00
donutloop
b4a49fccfd
Slice: Add GroupBy func ( #10 )
...
Group by: split slice into two groups, applies on each slice element a
predicate func to categorize this element.
Changes
* Add groub by func
* Add test case for this func
2022-01-02 21:24:56 +08:00
dudaodong
d4f49af2ad
feat: add watcher for record code excution time
2022-01-01 19:56:15 +08:00
dudaodong
ed4acc1c67
feat: add Shuffle func
2022-01-01 19:18:33 +08:00
dudaodong
042a00296f
feat: add FlattenDeep func
2022-01-01 18:14:35 +08:00
dudaodong
b42aac53b3
feat: add Drop func
2022-01-01 17:20:41 +08:00
dudaodong
c625a88067
refactor: rename package 'utils' to 'internal'
2021-12-31 11:36:11 +08:00
dudaodong
bb4ac01209
Merge branch 'main' of github.com:duke-git/lancet into main
2021-12-31 10:18:11 +08:00
donutloop
147c1625b5
Slice: Optimize slice func tools ( #9 )
...
IntSlice and StringSlice: preallocate memory up front for output slice.
Instead returning a error throw a panic because most likely it's a
programming error.
Contain: rename slice to iterableType and add default case for type
mismatches
2021-12-31 10:15:38 +08:00
dudaodong
2aed55f704
refactor: function in slice.go
2021-12-31 10:12:14 +08:00
donutloop
b106c428ae
Every: use int counter ( #6 )
...
Use counter to verify all elements passed the perdicate func.
Replace slice of indexes with int counter.
2021-12-29 09:51:50 +08:00
dudaodong
ec983b7aa6
fix: fix
...
Intersection slice issue
2021-12-28 10:16:53 +08:00
dudaodong
99faeccb05
feat: add Intersection, Union, Without func for slice/slice.go
2021-12-27 19:54:04 +08:00
dudaodong
ad777bc877
feat: add Intersection, Union, Without func for slice/slice.go
2021-12-27 19:47:45 +08:00
dudaodong
589ce7404f
refactor: update painc message
2021-12-27 15:12:18 +08:00
Marcel Edmund Franke
578b1bba65
Some: allocate slice to keep track unused indexes is not necessary
...
Waste of memory for those unused indexes. It got replaced by a simple
boolean to keep track of it.
2021-12-25 13:04:03 +01:00