-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchangelog.txt
More file actions
97 lines (78 loc) · 5.22 KB
/
changelog.txt
File metadata and controls
97 lines (78 loc) · 5.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Changelog
## [0.0.14] - 2026-03-30
### Added
- Braille encoding/decoding in `src/braille.ts`: ASCII ↔ Unicode Braille character mapping.
- Pre-computed Braille lookup table constants: `ASCII_MAP`, `BRAILLE_MAP`, `ALPHABET_MAP`, `ASCII_ALPHABET`, `BRAILLE_ALPHABET`.
- Recursive object value search in `src/find-value.ts`: `findValue` and `findValues` with custom comparators.
- String template formatting in `src/format.ts`: `{key}` placeholder replacement.
- Non-cryptographic string hashing in `src/hash.ts`: `hashString` and `getAscii`.
- HTML anchor builder in `src/anchor.ts`: `Anchor` class with XSS-safe HTML escaping.
- Git repository detection in `src/git.ts`: `isGitInit` with injectable filesystem dependency.
- Primitive type detection in `src/primitive.ts`: `isPrimitive` and `isPrimitiveArray`.
- Object-to-array conversion in `src/otoa.ts`: `objectToArray` with optional key prefix filtering.
- Word/line/letter counting in `src/wc.ts`: `wc` function similar to Unix `wc`.
- Comprehensive unit tests for all new modules.
- Subpath exports for all new modules.
### Updated
- `@stylistic/eslint-plugin` ^5.9.0 → ^5.10.0
- `@types/node` ^24.10.13 → ^24.12.0
- `eslint` ^9.39.3 → ^9.39.4
- `typedoc` ^0.28.17 → ^0.28.18
- `typedoc-plugin-markdown` ^4.10.0 → ^4.11.0
- `typescript-eslint` ^8.56.1 → ^8.57.2
### Removed
- `tmp/` directory (all files ported to TypeScript in `src/`).
## [0.0.13] - 2026-03-26
### Added
- `strings` module in `src/strings.ts`: full port of the Go `strings` standard library to idiomatic TypeScript.
- Free functions: `clone`, `compare`, `contains`, `containsAny`, `containsFunc`, `containsRune`, `count`, `cut`, `cutPrefix`, `cutSuffix`, `equalFold`, `fields`, `fieldsFunc`, `fieldsFuncSeq`, `fieldsSeq`, `hasPrefix`, `hasSuffix`, `index`, `indexAny`, `indexByte`, `indexFunc`, `indexRune`, `join`, `lastIndex`, `lastIndexAny`, `lastIndexByte`, `lastIndexFunc`, `lines`, `mapString`, `repeat`, `replace`, `replaceAll`, `split`, `splitAfter`, `splitAfterN`, `splitAfterSeq`, `splitN`, `splitSeq`, `title`, `toLower`, `toLowerSpecial`, `toTitle`, `toTitleSpecial`, `toUpper`, `toUpperSpecial`, `toValidUTF8`, `trim`, `trimFunc`, `trimLeft`, `trimLeftFunc`, `trimPrefix`, `trimRight`, `trimRightFunc`, `trimSpace`, `trimSuffix`.
- Iterator variants (`fieldsSeq`, `fieldsFuncSeq`, `splitSeq`, `splitAfterSeq`, `lines`) implemented as TypeScript generators.
- Classes: `Builder` (string accumulator), `Reader` (UTF-8 byte stream over a string), `Replacer` (multi-pattern replacement).
- Factory functions: `newReader`, `newReplacer`.
- Error class: `EOFError` for Reader EOF signalling.
- Exported types: `Rune`, `SpecialCase`, `Writer`.
- Comprehensive unit tests in `src/strings.test.ts` covering success and failure paths, empty-string inputs, and length-mismatch edge cases (e.g. `contains("foo", "foobar")` → false).
- Subpath export `./strings` in `package.json`.
- All strings symbols re-exported from the root `src/index.ts`.
## [0.0.12] - 2026-02-25
### Added
- Integer bit counting helpers in `src/bits.ts`: `popcount32`, `popcount64`, `countOnes`, `countZeroesWithWidth`, `countZeroes`.
- Comprehensive unit tests in `src/bits.test.ts`.
- Subpath export for bits module (`@wtasnorg/node-lib/bits`).
- Rewrote readme with subpath import examples and available modules table.
### Updated
- `@stylistic/eslint-plugin` ^5.6.1 → ^5.9.0
- `@types/node` ^24.10.1 → ^24.10.13
- `eslint` ^9.39.1 → ^9.39.3
- `typedoc` ^0.28.15 → ^0.28.17
- `typedoc-plugin-markdown` ^4.9.0 → ^4.10.0
- `typescript-eslint` ^8.48.1 → ^8.56.1
## [0.0.11] - 2026-01-20
### Added
- Base58 encoding/decoding in `src/base58.ts` with three charset variants: `bitcoin`, `flickr`, `ripple`.
- Base85 encoding/decoding in `src/base85.ts` with three charset variants: `ascii85`, `z85`, `rfc1924`.
- Base32 encoding/decoding in `src/base32.ts` with three charset variants: `rfc4648`, `hex`, `crockford`.
- Comprehensive unit tests for all new modules.
- Subpath exports for tree shaking: import individual modules via `@wtasnorg/node-lib/base64`, etc.
## [0.0.10] - 2026-01-20
### Updated
- Updated `hello` to use konsole.
## [0.0.9] - 2026-01-19
### Added
- Base64 encoding/decoding in `src/base64.ts` with four charset variants:
- `standard`: RFC 4648 standard alphabet (A-Z, a-z, 0-9, +, /)
- `urlsafe`: URL and filename safe (A-Z, a-z, 0-9, -, _)
- `imap`: Modified Base64 for IMAP mailbox names (A-Z, a-z, 0-9, +, ,)
- `radix64`: Base64 variant used in OpenPGP (A-Z, a-z, 0-9, +, /)
- Exported `encode`, `decode`, `Base64Charset`, and `Base64CharsetType` from `index.ts`.
- Comprehensive unit tests in `src/base64.test.ts` with round-trip tests for all charsets.
## [0.0.8] - 2026-01-19
### Added
- User-agent parsing functionality in `src/user-agent.ts`.
- Comprehensive unit tests for user-agent parsing in `src/user-agent.test.ts`.
- `parseUserAgent` function to extract browser, OS, device, and engine info.
- `npm run lint` script to `package.json`.
- ESLint and EditorConfig compliance for new files.
### Fixed
- Exported `parseUserAgent` function and `UserAgentInfo` type from `index.ts`.
- Fixed `detectEngine` logic: "Blink" was never returned because "AppleWebKit" check ran first. Reordered checks so Chrome-based browsers correctly return "Blink".