Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e09dd29
:construction: Add async chain idea
reckter Nov 26, 2024
969e58a
Add more test
reckter Nov 26, 2024
61b2c6a
Make AsyncChain eager, and not evaluate multiple times
reckter Nov 26, 2024
0731e19
Move async code to their own folder
reckter Jul 29, 2025
7b13fa6
Add more async chain test, move asynh chain back into one file
reckter Jul 29, 2025
f2c67f7
Add more types to objChain function
reckter Jul 30, 2025
80989d9
Simplify objChain types
reckter Aug 1, 2025
072923a
Fix tests and add a new one
reckter Aug 1, 2025
1456dd9
fix some functions
reckter Aug 1, 2025
bd87874
Do todos
reckter Aug 1, 2025
34a95c0
:camera_flash:
reckter Aug 1, 2025
918ae05
Update src/collections/AsyncChain.ts
reckter Aug 1, 2025
593c010
Update src/collections/AsyncChain.ts
reckter Aug 1, 2025
e1d4e60
Update src/collections/AsyncChain.ts
reckter Aug 1, 2025
8ed2794
Update src/collections/AsyncChain.ts
reckter Aug 1, 2025
95cf666
Fix takeLastWhile
reckter Aug 1, 2025
afc442c
Fix double evaluation and type casting
reckter Aug 1, 2025
96f31b3
Renaming variable to better suit the function
reckter Aug 1, 2025
e91f90b
add this.startCalculation() to SlidingWindowAyncChain
reckter Aug 1, 2025
75e14bf
Add async condition to takeLastWhile and takeWhile
reckter Aug 1, 2025
0256b95
Also allow async filters for the asyncObjChain filters
reckter Aug 1, 2025
752f0b9
Update src/collections/AsyncChain.ts
reckter Aug 1, 2025
056c96f
Switch to pnpm and update dependencies
reckter Aug 4, 2025
0f3bf10
Fix eslint config
reckter Aug 4, 2025
d4ed1ba
Add missing file
reckter Aug 4, 2025
286b4d9
Add more tests
reckter Aug 4, 2025
b8adec3
Merge branch 'main' into async-chains
reckter Aug 21, 2025
f6d1bab
Generate test for Async chain, fix some bugs
reckter Mar 26, 2026
03c5dc7
Fix assosciateWith
reckter Mar 26, 2026
1f529a2
:rotating_light:
reckter Mar 26, 2026
359b90f
Make eveything lazy
reckter Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
build/
node_modules/
.eslintcache

.junie/
.turbo/
.env
1 change: 1 addition & 0 deletions AGENTS.md
46 changes: 46 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# CLAUDE.md

## Project Overview

`@opencreek/ext` is a TypeScript utility library providing functional collection processing, async chain support, and various utilities.

## Commands

```bash
# Build
pnpm run build # compiles TypeScript → build/

# Test
pnpm test # runs AVA tests (src/**/*.test.ts)

# Lint
pnpm run lint # check with Prettier + ESLint
pnpm run lint:fix # auto-fix issues
```

## Key Structure

```
src/
index.ts # barrel export
collections.ts # Chain<T>, ObjectChain<K,T>
collections/
AsyncChain.ts # AsyncChain<T>, AsyncObjectChain<K,T>
BigDecimal.ts # high-precision decimal arithmetic
StopWatch.ts # performance timing
error.ts, raise.ts # error utilities
strings.ts # string/output helpers
range.ts, sleep.ts, parseNumber.ts, objects.ts, table.ts, todo.ts
build/ # compiled output (generated)
```

## Code Style

- No semicolons (Prettier config: `"semi": false`)
- Strict TypeScript (ES2020 target, CommonJS modules)
- ESLint with max-warnings=0
- Tests use AVA framework with ts-node

## Package Manager

Use `pnpm` (not npm or yarn).
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@
"devDependencies": {
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.32.0",
"@types/node": "^24.2.0",
"@typescript-eslint/eslint-plugin": "^8.38.0",
"@typescript-eslint/parser": "^8.38.0",
"auto": "^11.3.0",
"ava": "^6.4.1",
"eslint": "^9.0.0",
"eslint-config-prettier": "^10.1.8",
"prettier": "^3.6.2",
"ts-node": "^10.9.2",
"typescript": "5.8.3"
"typescript": "5.9.2",
"@types/node": "^24.2.0",
"ts-node": "^10.9.2"
},
"prettier": {
"semi": false
Expand Down
118 changes: 59 additions & 59 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading