Releases: carbonteq/hexapp
Releases · carbonteq/hexapp
v0.19.3
v0.19.2
v0.19.0
Minor Changes
- cbd1c1c: - Rename nominal types to refined types
- Add
extend
util 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
DateTime
refined type - Add an optionally implementable
getParser
method inBaseValueObject
to allow sharing schematic (syntactic + semantic) validation logic with domain boundaries - Add a
DateRange
type to show case how to use refined types and the structure of a value object with schematic and domain validations - Update
BaseEntity
to 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
,IsUnion
andEnsureNotUnion
type utils - Remove
isPromise
type guard. Already present innode:util/types
- Add
extractProp
,extractProps
,extractId
,toSerialized
andnestWithKey
composition utilities - Rename
RefinedType.$inferInner
toRefinedType.$inferPrimitive
andRefinedType.value
toRefinedType.primitive
- Add
v0.18.2
Patch Changes
-
261f5fd: Improve refined amd enum types
- Add
$infer
and$inferInner
for simpler type extraction - Add
value
method for getting the unbranded type easily - Add
matchEnum
for 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
extend
util 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
DateTime
refined type - Add an optionally implementable
getParser
method inBaseValueObject
to allow sharing schematic (syntactic + semantic) validation logic with domain boundaries - Add a
DateRange
type to show case how to use refined types and the structure of a value object with schematic and domain validations - Update
BaseEntity
to 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.17.2
v0.17.1
v0.17.0
Minor Changes
- cbd1c1c: - Rename nominal types to refined types
- Add
extend
util 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
DateTime
refined type - Add an optionally implementable
getParser
method inBaseValueObject
to allow sharing schematic (syntactic + semantic) validation logic with domain boundaries - Add a
DateRange
type to show case how to use refined types and the structure of a value object with schematic and domain validations - Update
BaseEntity
to 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
- 7482c4c: Simplify serialized entity