You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add netstandard2.0 target and flattening cache
Add netstandard2.0 as a second target framework alongside net10.0, making
the library consumable from older runtimes. Fixes all API incompatibilities
introduced by the broader language and runtime surface of net10.0, and adds
a memoisation cache for flattened property accessor resolution.
- Add IsExternalInit polyfill to support record struct on netstandard2.0
- Replace ArgumentNullException.ThrowIfNull (.NET 6+) with explicit null guards
- Replace index/range syntax (^, ..) with Length-1 and Substring() calls
- Replace Dictionary.TryAdd with ContainsKey + Add for netstandard2.0
- Use #if NET5_0_OR_GREATER to select the correct GetMethod overload per target
- Fix erroneous static modifier on MapWithDepthTracking
- Cache TryBuildFlattenedGetter results keyed on (destPropertyName, sourceType)
to eliminate redundant reflection on repeated configuration or validation calls
- Add three new flattening cache tests covering hit, key collision, and null miss
- Mark all private Profile subclasses in tests as sealed
0 commit comments