Releases: carbonteq/hexapp
Releases · carbonteq/hexapp
v0.20.2
v0.20.1
v0.20.0
v0.19.3
v0.19.2
v0.19.0
Minor Changes
- cbd1c1c: - Rename nominal types to refined types
- Add
extendutil for adding custom method to an object or class while retaining type safety (an alternative is spread operator, but that approach removes the runtime private props) - Add
DateTimerefined type - Add an optionally implementable
getParsermethod inBaseValueObjectto allow sharing schematic (syntactic + semantic) validation logic with domain boundaries - Add a
DateRangetype to show case how to use refined types and the structure of a value object with schematic and domain validations - Update
BaseEntityto utilize the new refined types forId(UUID),createdAt(DateTime) andupdatedAt(DateTime) fields
- Add
- 9686ab1: - Add nominal/branded types (and a helper function to simplify their creation)
- Remove ExternalServiceFailure error port
- Add GuardViolationError and AppErrStatus
- Simplify BaseRepository, only insert and update are mandatory to implement now
- Remove UUID and Email value objects, shift to UUID and Email branded types
- Simplify types in SerializedEntity interface (can reuse UUID in both IEntity and SerializedEntity)
- Move Logger interface to shared
- Move MockRepository to infra
- Remove EMAIL and UUID schema types from ZodSchemas
- Update tests to cater to above changes, add new tests for nominal types
Patch Changes
v0.18.3
Patch Changes
-
669ff67: Add composition util methods and update AppResult methods for @carbonteq/fp v0.6.0
- Add
AppendToTuple,IsUnionandEnsureNotUniontype utils - Remove
isPromisetype guard. Already present innode:util/types - Add
extractProp,extractProps,extractId,toSerializedandnestWithKeycomposition utilities - Rename
RefinedType.$inferInnertoRefinedType.$inferPrimitiveandRefinedType.valuetoRefinedType.primitive
- Add
v0.18.2
Patch Changes
-
261f5fd: Improve refined amd enum types
- Add
$inferand$inferInnerfor simpler type extraction - Add
valuemethod for getting the unbranded type easily - Add
matchEnumfor pattern matching enum type (with exhaustive checking and type safety) - Add
eq'static' method in enum types for simpler equality checks
- Add
v0.18.1
v0.18.0
Minor Changes
- cbd1c1c: - Rename nominal types to refined types
- Add
extendutil for adding custom method to an object or class while retaining type safety (an alternative is spread operator, but that approach removes the runtime private props) - Add
DateTimerefined type - Add an optionally implementable
getParsermethod inBaseValueObjectto allow sharing schematic (syntactic + semantic) validation logic with domain boundaries - Add a
DateRangetype to show case how to use refined types and the structure of a value object with schematic and domain validations - Update
BaseEntityto utilize the new refined types forId(UUID),createdAt(DateTime) andupdatedAt(DateTime) fields
- Add
- 9686ab1: - Add nominal/branded types (and a helper function to simplify their creation)
- Remove ExternalServiceFailure error port
- Add GuardViolationError and AppErrStatus
- Simplify BaseRepository, only insert and update are mandatory to implement now
- Remove UUID and Email value objects, shift to UUID and Email branded types
- Simplify types in SerializedEntity interface (can reuse UUID in both IEntity and SerializedEntity)
- Move Logger interface to shared
- Move MockRepository to infra
- Remove EMAIL and UUID schema types from ZodSchemas
- Update tests to cater to above changes, add new tests for nominal types