2.3 KiB
2.3 KiB
AyCode.Core
Core library for the AyCode platform. Targets .NET 10. Provides serialization (Binary, JSON, Toon), compression, logging, validation, and shared utilities.
Folder Structure
| Folder | Purpose | README |
|---|---|---|
Compression/ |
Brotli, GZip, LZ4 compression (pure managed, WASM-compatible) | README |
Consts/ |
Project-wide constants, error codes, regex validation, environment config | README |
Enums/ |
Shared enums: AppType, MessageContextType, TrackingState | README |
Extensions/ |
Collection merge/sync, serialization extensions, utility extensions | README |
Helpers/ |
Token generation, observable collections, JSON utilities, password hashing, task helpers | README |
Interfaces/ |
Core interfaces: IId<T>, IForeignKey, IAcSerializableToJson | README |
Loggers/ |
Custom logging framework with MS.Extensions.Logging integration | README |
Serializers/ |
Serialization framework: Binary, JSON, Toon formats on shared infrastructure | README |
Root Files
AcDomain.cs— Singleton for process-level state: process name, build type detection (IsDeveloperVersion/IsProductVersion), processor count, thread-safe unique ID generators (NextUniqueInt32,NextUniqueInt64).
Dependencies
| Dependency | Purpose |
|---|---|
AyCode.Utils |
Shared utilities (project reference) |
AyCode.Core.Serializers.SourceGenerator |
Binary serializer source generation (analyzer) |
AutoMapper |
Object mapping |
MessagePack |
MessagePack serialization |
Newtonsoft.Json |
JSON serialization (legacy, alongside System.Text.Json) |
Microsoft.Extensions.Configuration.* |
appsettings.json + environment variable support |
Microsoft.Extensions.Logging.Abstractions |
Logging abstractions |
LLM Maintenance: If you modify code in this folder, update this README to reflect the changes. If you notice the README content does not match the current code, automatically update the README to match the code.