Eugene
5ae03c47da
format
2025-12-10 16:01:18 +03:00
Eugene
594ec641a4
refactor(bitmap): switch to mutating API and return `this` from all setters
...
The Bitmap API is now fully mutating:
- all state-changing methods (`set`, `remove`, `grow`, `clear`, `filter`) return `this`
- bitwise operations (`and`, `or`, `xor`, `andNot`) no longer clone internally and now mutate the current bitmap
- functional (immutable-style) usage is still possible via explicit `.clone()`
- removed implicit cloning from all arithmetic operations
This change makes the mutation semantics consistent and predictable, while keeping optional immutability available through manual cloning.
2025-12-10 16:01:04 +03:00
Eugene
21761e5dac
1.0.4
2025-12-06 12:30:16 +03:00
Eugene
b23eb4d7c0
add spaces between bits group
2025-12-06 12:30:06 +03:00
Eugene
3b2348f977
1.0.3
2025-12-06 12:23:56 +03:00
Eugene
02e69826dd
add serialization/deserialization/debug methods (toString/fromString)
2025-12-06 12:23:50 +03:00
Eugene
84dfd66f9a
1.0.2
2025-12-01 22:59:09 +03:00
Eugene
dfa4a88e0d
add license
...
update package.json
2025-12-01 22:58:17 +03:00
Eugene
4a5d190ea7
1.0.1
2025-12-01 22:45:47 +03:00
Eugene
5667aef80f
docs(bitmap): add JSDoc for Bitmap class and helper functions
...
Add comprehensive JSDoc comments to src/bitmap.ts covering:
- private helper functions (computeBitsArrayLength, getBitPositionIndex, getBitPosition, getMask)
- the Bitmap class and all public methods (constructor, iterator, grow, set, remove, contains, count, and, andNot, or, xor, range, filter, clear, clone, min, max, minZero, maxZero)
Comments describe parameters, return values and behavior (including iteration semantics). No runtime behaviour changes — this improves editor/tooling support (autocomplete/type hints) and prepares the code for TypeDoc generation.
2025-12-01 22:45:36 +03:00
Eugene
6e845f5543
1.0.0
2025-12-01 21:59:28 +03:00
Eugene
f840742724
fix(bitmap): correct growth at byte boundaries, add explicit bounds checks, and adjust bitwise ops
...
- grow now accounts for bit index + 1 when computing required byte length to avoid off-by-one at byte boundaries
- contains/remove use explicit bounds checks (idx >= this.bits.length) instead of relying on truthy checks
- and clears tail bytes not covered by the shorter operand
- or/xor expand the result to encompass a longer operand so all bits are preserved
- update behavior to be more predictable and safer; tests pass
2025-12-01 21:58:51 +03:00
Eugene
4fbf7d426e
0.0.8
2025-12-01 19:26:31 +03:00
Eugene
eec57ec719
removed useless interface
2025-12-01 19:26:25 +03:00
Eugene
7b363a0219
0.0.7
2025-12-01 17:46:36 +03:00
Eugene
7db35956e1
markdown update
2025-12-01 17:46:25 +03:00
Eugene
4f4fddcbcf
0.0.6
2025-12-01 17:37:36 +03:00
Eugene
0d04900ec6
format with prettier
2025-12-01 17:37:12 +03:00
Eugene
5b1e81bea9
add tests
2025-12-01 17:36:26 +03:00
Eugene
e5dd13477b
add simple iterators
2025-12-01 17:30:15 +03:00
Eugene
b79f9267f0
0.0.5
2025-04-03 19:22:06 +03:00
Eugene
c773a73ec7
0.0.4
2025-04-03 19:18:05 +03:00
Eugene
ea844221b7
Little DX upgrade. Now .range() can return VOID.
...
It means that user don't need to always return `true` to continue iteration, but user can break the iterations by returning `false`.
2025-04-03 19:18:00 +03:00
Eugene
6c6b48a287
Update README.md
2025-04-02 09:18:19 +03:00
Eugene
3a063d4aac
0.0.3
2025-04-02 09:10:28 +03:00
Eugene
e53ecbd76b
Merge remote-tracking branch 'origin/main'
2025-04-02 09:10:02 +03:00
Eugene
45b914875b
Update vite version
2025-04-02 09:09:47 +03:00
Eugene
dd78397385
Fixed bug with 0-size bitmap (.grow(x))
...
Add testcase
Add tests script & config
2025-04-02 09:08:46 +03:00
Eugene Antonenkov
5a8853f719
Delete public directory
2024-07-05 00:25:38 +03:00
Eugene Antonenkov
75f81b537e
Delete index.html
2024-07-05 00:25:15 +03:00
Eugene Antonenkov
8e609c984c
Update README.md
2024-07-05 00:15:20 +03:00
=
e73e47a702
0.0.2
2024-07-04 22:40:22 +03:00
=
b39cb22c87
Update readme
2024-07-04 22:40:17 +03:00
=
0368f12d60
init commit
2024-07-04 22:34:19 +03:00