⬆️ version bump to v4.5

- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5"
- Update version.txt from 4.29 → .30
(automated by Makefile)
This commit is contained in:
Eric Coissac
2026-04-07 08:36:50 +02:00
parent 670edc1958
commit 8c7017a99d
392 changed files with 18875 additions and 141 deletions
+16
View File
@@ -0,0 +1,16 @@
# `obiutils` Package Overview
This Go package provides utility functions for common data conversion, serialization, and reflection tasks.
- **Custom Error Types**: Defines typed errors (`NotAnInteger`, `NotAFloat64`, etc.) for precise type validation failures.
- **Interface-to-Type Casting**: Offers robust conversion functions:
- `InterfaceToFloat64Map`, `InterfaceToIntSlice`, etc., handling nested interfaces and type coercion (e.g. `int``float64`, slices of `interface{}`).
- **File I/O**: `ReadLines` reads a file line-by-line into a string slice, handling buffered reading efficiently.
- **Concurrency**: `AtomicCounter` returns an incrementing integer generator—thread-safe via mutex, optionally starting from a given value.
- **JSON Serialization**: `JsonMarshal` and `JsonMarshalByteBuffer` provide UTF8preserving JSON encoding (avoids Gos default HTML escaping).
- **Reflection Helpers**:
- `IsAMap`, `IsASlice`, `IsAnArray` detect container types.
- `HasLength`, `Len`, and `IsAContainer` abstract length operations across maps, slices, arrays, or custom types with a `.Len()` method.
- **Deep Copying**: `MustFillMap` performs deep copying of nested structures using `go-deepcopy`.
All functions prioritize safety, type correctness, and usability in data-heavy or concurrent applications.