[Class] biga.ahk (174 utility methods)

Post your working scripts, libraries and tools for AHK v1.1 and older
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (144 super handy utilities and counting)

03 Dec 2022, 12:23

v0.55.0

new:
.range which generates an array of numbers within a given range

fixes:
.countBy edge case when array.ahk is also active
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (144 super handy utilities and counting)

25 Dec 2022, 23:58

v0.56.0

new:
.over
.lowerFirst

fixes:
.takeRight not quitting early when the array was emptied

performance:
.join should be significantly faster
.drop should be faster
.lowerFirst
.upperFirst
.pickBy
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

29 Dec 2022, 13:22

You can see some performance graphs of most biga.ahk methods here: https://chunjee.github.io/biga.ahk-performancegraphs

These are not perfect stress tests but did help identify some slower methods that were greatly improved in v0.56.0

There may be another performance related update in the near future.
Jasonosaj
Posts: 56
Joined: 02 Feb 2022, 15:02
Location: California

Re: [Class] biga.ahk (166 utility methods)

08 May 2023, 11:44

@Chunjee Any chance that you're going to be updating this or any of your other libraries for v2?
MrDoge
Posts: 167
Joined: 27 Apr 2020, 21:29

Re: [Class] biga.ahk (166 utility methods)

11 May 2023, 10:34

@Jasonosaj this is a converted version (using ahk_to_v2.ah2), so it may not look nice
Biga.ah2 : https://raw.githubusercontent.com/FuPeiJiang/ahk_to_v2.ah2/main/converted/Biga.ah2
use Biga.ah2 : https://raw.githubusercontent.com/FuPeiJiang/ahk_to_v2.ah2/main/converted/use%20Biga.ah2
https://github.com/FuPeiJiang/ahk_to_v2.ah2/tree/main/converted

I have only tested like 3 method, or 6 if you count the isString(), isArray()
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

11 May 2023, 16:53

Much appreciated 👏


I do have a ahkv2 plan; but it will have a different name in attempt to avoid confusion.
Jasonosaj
Posts: 56
Joined: 02 Feb 2022, 15:02
Location: California

Re: [Class] biga.ahk (166 utility methods)

15 May 2023, 09:55

Chunjee wrote:
11 May 2023, 16:53
Much appreciated 👏


I do have a ahkv2 plan; but it will have a different name in attempt to avoid confusion.
My man! The main thing holding me back from moving to V2 is some scripts you helped me out with on the discord, which are foundational and still beyond my understanding in terms of translation to v2! Also, thanks again for the help. Have saved me more hours than I can count, minus the hours that I spent tinkering with code instead of doing my "real job," of course...

If you're doing requrests, stringsimilarity would be up there as well. :)
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

21 Sep 2023, 13:35

Reminder that this has zero dependencies!

I am struggling with installing something that needs python, rust, a compiler, and it's failing on a perl script. omg too complicated...
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

14 Jan 2024, 11:05

v0.57.0

fixes:
.sortBy had a big bug with sorting by keys that had special characters like spaces
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

07 Mar 2024, 14:59

Expecting about 100 or 200 more tests to be added as I am going through each method one by one and adding more.

I did find one bug so far; in .depthOf
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

11 Mar 2024, 16:15

v0.57.1

fixes:
.at
.depthOf
.get
.maxBy
.slice
.toLength
.without


Previously:

Code: Select all

object := {"a": [{ "b": {"c": 3} }, 4]}
A.at(object, ["a[1].b", "a[2]"])
; => ["", 4]

Now:
.get and .at can retrieve object (clones) not just values:

Code: Select all

object := {"a": [{ "b": {"c": 3} }, 4]}
A.at(object, ["a[1].b", "a[2]"])
; => [{"c": 3}, 4]
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk (166 utility methods)

22 May 2024, 17:58

v0.58.0

new:
.isEmpty
.memoize
.negate
.once
.throttle
.values

fixes:
.parseInt now has an optional radix parameter


Code: Select all

memoizedFibonacci := A.memoize(func("fn_fibonacci"))
memoizedFibonacci.call(10)
; => 55

; Subsequent calls with the same argument will use the cached result
memoizedFibonacci.call(10)
; => 55

fn_fibonacci(n) {
    if (n <= 1) {
        return n
    }
    return fn_fibonacci(n - 1) + fn_fibonacci(n - 2)
}

Code: Select all

A.parseInt("0xFF", 16)
; => 255

The documentation found at https://biga-ahk.github.io/biga.ahk will now link to each method's source code; the source files happen to also contain the tests.
docs-source.png
docs-source.png (14.09 KiB) Viewed 343 times

Please enjoy it :thumbup:
User avatar
Chunjee
Posts: 1494
Joined: 18 Apr 2014, 19:05
Contact:

Re: [Class] biga.ahk

30 May 2024, 14:07

The online docs were updated in appearance mostly


I am interested in a measureable roadmap to v1.0.0. Please make any submission machine readable.

Return to “Scripts and Functions (v1)”

Who is online

Users browsing this forum: No registered users and 113 guests